In general, each class of expression also includes those below it.
Primary | literals, this , parenthesized expressions |
|
Class instance creation | new Type(...) |
|
Array creation | new Type[...] |
|
Field access | object.field , System.out |
left associative |
Method invocation | object.method(...) , Math.sin(...) |
left associative |
Array access | arrObj[...] |
left associative |
Postfix | identifiers & postfix ++ , -- |
left associative |
Unary | prefix + , - , ++ , -- |
right associative |
Cast | (type)expr |
right associative |
Multiplicative | * , / , %
| left associative |
Additive | + , -
| left associative |
Shift | << , >> , >>> |
left associative |
Relational | < , > , <= , >= , instanceof |
left associative |
Equality | == , != |
left associative |
And, Exclusive or, Inclusive or | in order of precedence & , ^ , | |
left associative |
Conditional And | && |
left associative |
Conditional Or | || |
left associative |
Conditional | ? : | right associative |
Assignment | = , *= , /= , %= , += , -= , <<= , >>= , >>>== , &= , ^= , |= |
right associative |
Compare this presentation with that of Java 5 & 6 Reference Card.