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 |