Wiki Markup |
---|
Programmers frequently make errors regarding the precedence rules of operators due to the unintuitive low-precedence levels of {{&}}, {{\|}}, {{\^}}, {{<<}}, and {{>>}}. Mistakes regarding precedence rules can be avoided by the suitable use of parentheses. Defensive use of parentheses, if not taken to excess, also improves code readability. |
Wiki Markup |
---|
The precedence of operations by the order of the subclauses are defined in the Java Tutorials \[[Tutorials 08|AA. Java References#Tutorials 08]\]. |
...
Code Block |
---|
|
public static final int MASK = 1337;
public static final int OFFSET = -1337;
public static int computeCode(int x) {
return x & MASK + OFFSET;
}
|
Due According to the operator precedence rules, the expression is parsed as:
Code Block |
---|
x & (MASK + OFFSET)
|
This expression gets evaluated as shown below, resulting in the value 0.
...