Java Operator Precedecne and Associativity

Precedence and associative are the rules that are used to determine the operators with the highest priority in evaluating an equation that contains different operations.

For example:

In this example, x is assigned as 20, not 30 that’s because operator * has higher precedence than +, and hence it first gets multiplied (5*2) and then multiplied value is added to 10.

In the following table, the precedence of an operator decreases from top to down:

CategoryOperatorAssociativity
Postfix>() [] . (dot operator)Left to right
Unary>++ – – ! ~Right to left
Additive>+ –Left to right
Relational>> >= < <=Left to right
Additive>+ –Left to right
Equality>== !=Left to right
Bitwise AND>&Left to right
Bitwise OR>|Left to right
Bitwise XOR>^Left to right
Logical AND>&&Left to right
Logical OR>||Left to right
Conditional?:Right to left
Assignment>= += -= *= /= %= >>= <<= &= ^= |=Right to left