Java-在相同条件下具有AND和OR,不带括号

Java-在相同条件下具有AND和OR,不带括号,java,if-statement,conditional-statements,boolean-logic,Java,If Statement,Conditional Statements,Boolean Logic,我知道在条件语句中使用And(&&)和OR(| |)不能没有括号 因此,如果您同时使用这两个条件,您应该执行(A&&!B)| |(C&&D) 但是,在一些代码中,我看到它们没有使用括号?那么会发生什么?我以为那没有编译: A && !B || C && D 我猜它会像求和或乘法一样解析,我的意思是,在阅读时解析它们: (((A && !B) || C) && D) 和(&&)优先于或(|)。那么这个 A && !

我知道在条件语句中使用And(&&)和OR(| |)不能没有括号

因此,如果您同时使用这两个条件,您应该执行
(A&&!B)| |(C&&D)

但是,在一些代码中,我看到它们没有使用括号?那么会发生什么?我以为那没有编译:

A && !B || C && D
我猜它会像求和或乘法一样解析,我的意思是,在阅读时解析它们:

(((A && !B) || C) && D)
和(
&&
)优先于或(
|
)。那么这个

A && !B || C && D
完全等同于

(A && !B) || (C && D)

所有符号都有一个操作顺序:+、*、&、| | |等,正如我们必须看到的那样:但当有疑问或为了确保清晰,括号是个好主意。既然
优先于
&&
| |
,它还等同于
(A&&(!B))| | |(C&&D)