【发布时间】:2019-02-04 23:15:38
【问题描述】:
一个比另一个更受欢迎吗?如果有,为什么?
int value1 = 1;
int value2 = 2;
if (value1 == 1 && value2 == 2) {
System.out.println("works");
}
if ((value1 == 1) && (value2 == 2)) {
System.out.println("works");
}
预期结果与实际结果相符。两者都打印字符串“works”
【问题讨论】:
-
没有任何区别。
-
但是使用括号确实表明了您的意图,因此下一个查看代码的人不必尝试确定原始作者(您)是否理解优先顺序。 (在这种情况下不一定,但特别是在比较中混合 && 和 || 时)。
-
在这种情况下技术上没有区别,但如果你想要一个一般规则,我建议你使用大括号并交换操作数。 (( 1 == value1) && ( 2 == value2))
-
@Aubin 这实际上是我一直在使用的
标签: java logic comparison and-operator