javacodex.com
Java Examples
Java Examples
memu home questions

Operator Precedence Examples

The operators in the following table are listed according to precedence order. The closer to the top of the table an operator appears, the higher its precedence. Operators with higher precedence are evaluated before operators with relatively lower precedence. Operators on the same line have equal precedence. When operators of equal precedence appear in the same expression, a rule must govern which is evaluated first. All binary operators except for the assignment operators are evaluated from left to right; assignment operators are evaluated right to left.

Operator Precedence
postfix expr++ expr--
unary ++expr --expr +expr -expr ~ !
multiplicative * / %
additive + -
shift << >> >>>
relational < > <= >= instanceof
equality == !=
bitwise AND &
bitwise exclusive OR ^
bitwise inclusive OR |
logical AND &&
logical OR ||
ternary ? :
assignment = += -= *= /= %= &= ^= |= <<= >>= >>>=

Source: (Precedence.java)

public class Precedence {
   public static void main(String[] args) {
      System.out.println( 3 + 3 * 2 );
      System.out.println( 3 * 3 - 2 );
      System.out.println( 3 * 3 / 2 );
      System.out.println("--");
 
      System.out.println( 1 * 1 + 1 * 1);
      System.out.println( 1 + 1 / 1 - 1);
      System.out.println( 3 * 3 / 2 + 2);
      System.out.println("--");
 
      int x = 1;
      System.out.println( x++ + x++ * --x );
 
      x = 1;
      System.out.println( x << 1 * 2 >> 1);
 
      x = 0xf; 
      System.out.println( 0xf & 0x5 | 0xa );
   }
}
 

Output:

# java Precedence 
9
7
4
--
2
1
6
--
5
2
15

Contact: javacodex@yahoo.com