| Precedence | Operator | Type | Associativity |
|---|---|---|---|
| 15 | () [] · |
Parentheses Array subscript Member selection |
Left to Right |
| 14 | ++ -- |
Unary post-increment Unary post-decrement |
Left to Right |
| 13 | ++ -- + - ! ~ ( type ) |
Unary pre-increment Unary pre-decrement Unary plus Unary minus Unary logical negation Unary bitwise complement Unary type cast |
Right to left |
| 12 | * / % |
Multiplication Division Modulus |
Left to right |
| 11 | + - |
Addition Subtraction |
Left to right |
| 10 | << >> >>> |
Bitwise left shift Bitwise right shift with sign extension Bitwise right shift with zero extension |
Left to right |
| 9 | < <= > >= instanceof |
Relational less than Relational less than or equal Relational greater than Relational greater than or equal Type comparison (objects only) |
Left to right |
| 8 | == != |
Relational is equal to Relational is not equal to |
Left to right |
| 7 | & | Bitwise AND | Left to right |
| 6 | ^ | Bitwise exclusive OR | Left to right |
| 5 | | | Bitwise inclusive OR | Left to right |
| 4 | && | Logical AND | Left to right |
| 3 | || | Logical OR | Left to right |
| 2 | ? : | Ternary conditional | Right to left |
| 1 | = += -= *= /= %= |
Assignment Addition assignment Subtraction assignment Multiplication assignment Division assignment Modulus assignment |
Right to left |
Larger number means higher precedence.