Expressions are evaluated in the order listed below:

 

Operator(s) Description Evaluation Order
() Parenthesis N/A
. or  [] Field/Method Access, Array Access left-to-right
++  or  -- Post-Increment/Decrement N/A
-  or  ++  or  --  or  ~  or  !  or  Cast Negate, Pre-Increment, Pre-Decrement, Bitwise Complement, Logical Complement (NOT), Cast right-to-left
*  or  /  or  % Multiply, Divide, Remainder left-to-right
-  or  + Subtract, Add/Concatenate left-to-right
<<  or  >>  or  >>> Shift left-to-right
<  or  >  or  <=  or  >= Relational Comparison N/A
==  or  != Equality, Inequality left-to-right
& Logical/Bitwise AND left-to-right
^ Logical/Bitwise XOR left-to-right
| Logical/Bitwise OR left-to-right
&& Conditional AND left-to-right
|| Conditional OR left-to-right
? : Conditional Operator N/A
=  or  *=  or  /=  or  %=  or  +=  or  -=  or  |=  or  <<=  or  >>=  or  >>>=  or  &=  or  ^= Assignment right-to-left