The precedence of an operator specifies how "tightly" it binds two
expressions together. For example, in the expression 1 +
5 * 3, the answer is 16 and not 18 because the
multiplication ("*") operator has a higher precedence than the
addition ("+") operator.
The following table lists the precedence of operators with the
lowest-precedence operators listed first.
Table 10-6. Operator Precedence
Associativity | Operators |
---|
left | , |
left | or |
left | xor |
left | and |
right | print |
left |
= += -= *= /= .= %= &= |= ^= ~= <<= >>=
|
left | ? : |
left | || |
left | && |
left | | |
left | ^ |
left | & |
non-associative | == != === !== |
non-associative | < <= > >= |
left | << >> |
left | + - . |
left | * / % |
right | ! ~ ++ -- (int) (double) (string) (array) (object) @ |
right | [ |
non-associative | new |