A.1. Operator Precedence
Operators are shown in decreasing order of precedence from top to bottom (Fig. A.1).
|
Operator |
Description |
Associativity |
|---|---|---|
|
++ |
unary postfix increment |
right to left |
|
-- |
unary postfix decrement |
|
|
++ |
unary prefix increment |
right to left |
|
-- |
unary prefix decrement |
|
|
+ |
unary plus |
|
|
- |
unary minus |
|
|
! |
unary logical negation |
|
|
~ |
unary bitwise complement |
|
|
( type ) |
unary cast |
|
|
* |
multiplication |
left to right |
|
/ |
division |
|
|
% |
remainder |
|
|
+ |
addition or string concatenation |
left to right |
|
- |
subtraction |
|
|
<< |
left shift |
left to right |
|
>> |
signed right shift |
|
|
>>> |
unsigned right shift |
|
|
< |
less than |
left to right |
|
<= |
less than or equal to |
|
|
> |
greater than |
|
|
>= |
greater than or equal to |
|
|
instanceof |
type comparison |
|
|
== |
is equal to |
left to right |
|
!= |
is not equal to |
|
|
& |
bitwise AND |
left to right |
|
boolean logical AND |
||
|
^ |
bitwise exclusive OR |
left to right |
|
boolean logical exclusive OR |
||
|
| |
bitwise inclusive OR |
left to right |
|
boolean logical inclusive OR |
||
|
&& |
conditional AND |
left to right |
|
|| |
conditional OR |
left to right |
|
?: |
conditional |
right to left |
|
= |
assignment |
right to left |
|
+= |
addition assignment |
|
|
-= |
subtraction assignment |
|
|
*= |
multiplication assignment |
|
|
/= |
division assignment |
|
|
%= |
remainder assignment |
|
|
&= |
bitwise AND assignment |
|
|
^= |
bitwise exclusive OR assignment |
|
|
|= |
bitwise inclusive OR assignment |
|
|
<<= |
bitwise left shift assignment |
|
|
>>= |
bitwise signed-right-shift assignment |
|
|
>>>= |
bitwise unsigned-right-shift assignment |