拥有&;时Java If语句如何工作&;及||

拥有&;时Java If语句如何工作&;及||,java,if-statement,Java,If Statement,如果将其写入If语句(这是一个示例): Java是这样想的:如果A和B等于1,或者C==1和D==1,那么它是真的。 或者Java认为:如果A和B或C等于1,D等于1,那么这是真的。 和或有更多的可能性 这是我编程中的一个问题,因为我不确定这个问题 /Viktor和&的优先级高于|,因此首先对其进行解释。i、 这相当于 if ((A == 1 && B == 1) || (C == 1 && D == 1)) 比较运算符=的优先级高于和逻辑运算符

如果将其写入If语句(这是一个示例):

Java是这样想的:如果A和B等于1,或者C==1和D==1,那么它是真的。 或者Java认为:如果A和B或C等于1,D等于1,那么这是真的。 和或有更多的可能性

这是我编程中的一个问题,因为我不确定这个问题


/Viktor

和&
的优先级高于
|
,因此首先对其进行解释。i、 这相当于

if ((A == 1 && B == 1)
    ||
    (C == 1 && D == 1))

比较运算符
=
的优先级高于
逻辑运算符
&
,后者的优先级高于
逻辑运算符
|
。 有关更多信息,请参阅文档:


通常,如果您不确定运算符优先级,请使用
括号

运算符==的优先级高于运算符&,后者的优先级高于运算符| |;如果不清楚,请添加更多括号。
if ((A == 1 && B == 1)
    ||
    (C == 1 && D == 1))