Java 运算符优先级
运算符优先级决定了表达式中项的组合方式。这会影响表达式的求值方式。某些运算符比其他运算符具有更高的优先级;例如,乘法运算符的优先级高于加法运算符。
例如,x = 7 + 3 * 2; 这里 x 的值为 13,而不是 20,因为 * 运算符的优先级高于 +,所以它先计算 3 * 2,然后再加上 7。
表中,优先级最高的运算符位于顶部,优先级最低的运算符位于底部。在表达式中,优先级高的运算符将首先计算。
类别 | 运算符 | 结合性 |
---|---|---|
后缀 | >() [] . (点运算符) | 从左到右 |
一元 | >++ - - ! ~ | 从右到左 |
乘法 | >* / | 从左到右 |
加法 | >+ - | 从左到右 |
移位 | >>> >>> << | 从左到右 |
关系 | >> >= < <= | 从左到右 |
相等 | >== != | 从左到右 |
按位与 | >& | 从左到右 |
按位异或 | >^ | 从左到右 |
按位或 | >| | 从左到右 |
逻辑与 | >&& | 从左到右 |
逻辑或 | >|| | 从左到右 |
条件 | ?: | 从右到左 |
赋值 | >= += -= *= /= %= >>= <<= &= ^= |= | 从右到左 |
广告