【发布时间】:2014-06-22 18:03:39
【问题描述】:
我怀疑短路运算符的优先级。
短路算子的经典例子如下。
if(denom != 0 && num/denom > 10)
这里使用速记运算符可以防止除以零错误,因为从不执行 num/denom。
现在我的问题是 Java 说 '/' 运算符的优先级高于 '&&' ,那么如何在 '/' 之前评估 '&&' 的左侧?
【问题讨论】:
-
不要将优先级与关联性混淆。
-
因为它们被解释为两个离散的评估,而不是一个长的评估。
-
不要将优先级与评估顺序混淆。