The following table lists Java operators in their precedence order.
Operators in the same level have the same precedence.
A lower the value in the level column indicates a higher precedence.
Level | Operator Symbol | Action Performed |
---|---|---|
1 | ++ -- +, - ~ ! (type) | Pre-or-post increment Pre-or-post decrement Unary plus, unary minus Bitwise complement Logical Not Cast |
2 | *, /, % | Multiplication, division, modulus |
3 | +, - + | Addition, subtraction String concatenation |
4 | << >> >>> | Left shift Signed right shift Unsigned right shift |
5 | < <= > >= instanceof | Less than Less than or equal Greater than Greater than or equal Type comparison |
6 | == != | Equal in value Not equal to |
7 | & & | Bitwise AND Logical AND |
8 | ^ ^ | Bitwise XOR Logical XOR |
9 | | | | Bitwise OR Logical OR |
10 | && | Logical short-circuit AND |
11 | || | Logical short-circuit OR |
12 | ?: | Ternary |
13 | = +=, -=, *=, /=, %=, <<=, >>=, >>>=, &=, |=,^= | Assignment Compound assignment |