Precedence | Operator | Type | Associativity |
---|---|---|---|

15 | () [] · |
Parentheses Array subscript Member selection |
Left to Right |

14 | ++ -- |
Unary post-increment Unary post-decrement |
Right to left |

13 | ++ -- + - ! ~ ( type ) |
Unary pre-increment Unary pre-decrement Unary plus Unary minus Unary logical negation Unary bitwise complement Unary type cast |
Right to left |

12 | * / % |
Multiplication Division Modulus |
Left to right |

11 | + - |
Addition Subtraction |
Left to right |

10 | << >> >>> |
Bitwise left shift Bitwise right shift with sign extension Bitwise right shift with zero extension |
Left to right |

9 | < <= > >= instanceof |
Relational less than Relational less than or equal Relational greater than Relational greater than or equal Type comparison (objects only) |
Left to right |

8 | == != |
Relational is equal to Relational is not equal to |
Left to right |

7 | & | Bitwise AND | Left to right |

6 | ^ | Bitwise exclusive OR | Left to right |

5 | | | Bitwise inclusive OR | Left to right |

4 | && | Logical AND | Left to right |

3 | || | Logical OR | Left to right |

2 | ? : | Ternary conditional | Right to left |

1 | = += -= *= /= %= |
Assignment Addition assignment Subtraction assignment Multiplication assignment Division assignment Modulus assignment |
Right to left |

*Larger number means higher precedence*.