Java Operator Precedence Table

PrecedenceOperatorTypeAssociativity
15 ()
[]
Parentheses
Array subscript
Member selection
Left to Right

14 ++
--
Unary post-increment
Unary post-decrement
Right to left
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.