在使用 && 或 || 时使用圆括号有区别吗?

Does using a parenthesis make a difference when using && or ||?

一个比另一个更受欢迎吗?如果是,为什么?

 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"

括号可用于对逻辑表达式进行分组,就像在数学表达式中一样。

让优先顺序更清晰

在这种情况下不需要它们,因为您只使用 2 个表达式。

但是在使用 ORAND 的类似情况下会发生什么?

它可能导致模棱两可的情况:

if (a && b || c)

将被解释为:

if ((a && b) || c)

当您希望将表达式视为:

if (a && (b || c))