3.5.8 括号与运算符级别
运算符 | 结合性 |
[ ] . ( ) | 从左向右 |
! ~ ++ +(一元运算符) -(二元运算符) ( ) (强制类型转换) new | 从右向左 |
/ * % | 从左向右 |
+ - | 从左向右 |
<< >> >>> | 从左向右 |
< <= > >= isstanceof | 从左向右 |
== != | 从左向右 |
& | 从左向右 |
^ | 从左向右 |
| | 从左向右 |
&& | 从左向右 |
|| | 从左向右 |
?: | 从右向左 |
= += -= *= %= &= |= ^= <<= >>= >>>= 从右向左
上表给出了运算符的优先级。如果不使用圆括号,就按照给出的运算符优先级次序进行计算。同一个级别的运算符按照从左到右的次序进行计算(除了表中给出的右结合运算符外)。
建议使用圆括号来界定计算次序。提高代码的可读性。