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.