目录

Java基础 - 运算符优先级

优质
小牛编辑
146浏览
2023-12-01

优先级从上到下依次递减,最上面具有最高的优先级,逗号操作符具有最低的优先级。

相同优先级中,按结合顺序计算。大多数运算是从左至右计算,只有三个优先级是从右至左结合的,它们是单目运算符、条件运算符、赋值运算符

基本的优先级需要记住:

  • 指针最优,单目运算优于双目运算。如正负号。
  • 先乘除(模),后加减。
  • 先算术运算,后移位运算,最后位运算。请特别注意:1 << 3 + 2 & 7等价于 (1 << (3 + 2)) & 7.
  • 逻辑运算最后计算。

优先级表

运算符结合性
[ ] . ( ) (方法调用)从左向右
! ~ ++ — +(一元运算) -(一元运算)从右向左
* / %从左向右
+ - 从左向右
<< >> >>>从左向右
< <= > >= instanceof从左向右
== !=从左向右
&从左向右
^从左向右
|从左向右
&&从左向右
||从左向右
?:从右向左
= += -= *= /= %= &= |= ^= <<= >>= >>=从右向左
从左到右