Java 运算符优先级、结合性及方法调用解析
1. 运算符优先级和结合性
1.1 运算符优先级概述
运算符优先级体现了运算符之间的“紧密程度”,不同运算符具有不同的优先级。例如,关系运算符的优先级高于布尔逻辑运算符,因此可以写出如下清晰的代码:
if (min <= i && i <= max)
process(i);
乘法运算符 * 的优先级高于减法运算符 - ,所以表达式 3 - 3 * 5 的值是 -12 ,而不是 0 。若要得到 0 ,可以使用括号改变运算顺序:
(3 - 3) * 5
1.2 运算符结合性
当两个优先级相同的运算符相邻时,运算符的结合性决定了计算顺序。加法运算符 + 是左结合的,所以表达式 a + b + c 等价于 (a + b) + c 。
1.3 运算符优先级列表
以下是所有运算符按优先级从高到低的列表:
| 运算符类型 | 运算符 |
| — | — |
| 后缀运算符 | [] . (params) expr++ expr
超级会员免费看
订阅专栏 解锁全文
388

被折叠的 条评论
为什么被折叠?



