运算符优先级的更新
现在要考虑更多的运算符,所以应更新第3章中的运算符优先级表,把它们包括在内,如表 4-12 所示。
表4-12 运算符优先级
| 优先级 | 运算符 | 
|---|---|
| 优 | ++,--(用作前缀);+,-(一元),!,~ | 
*, /, % | 
|
| 先 | +,- | 
<<,>> | 
|
| 级 | <,>,<=,>= | 
==,!= | 
|
| 由 | & | 
^ | 
|
| 高 | | | 
&& | 
|
| 到 | || | 
=,*=,/=,%=,+=,-=,<<=,>>=,&=,^= | 
|
| 低 | ++,--(用作后缀) | 
该表增加了好几个级别,但它明确定义了下述表达式该如何计算:
        var1 = var2 <= 4 && var2 >= 2;
  其中 && 运算符在 <= 和 >= 运算符之后执行(在这行代码中,var2 是一个 int 值)。
这里要注意 ⚠️ 的是,添加括号可以使这样的表达式看起来更清晰。编译器知道用什么顺序执行运算符,但人们常会忘记这个顺序(有时可能想改变这个顺序)。上述表达式也可以写为:
        var1 = (var2 <= 4) && (var2 >= 2);
通过明确指定计算的顺序就解决了这个问题。
🔚