Java - 在相同条件下具有 AND 和 OR,没有括号 [重复]
Posted
技术标签:
【中文标题】Java - 在相同条件下具有 AND 和 OR,没有括号 [重复]【英文标题】:Java - Having AND and OR in the same condition, without parentheses [duplicate] 【发布时间】:2016-01-20 19:34:13 【问题描述】:我知道在条件语句中使用 And (&&) 和 OR (||) 时不应该不带括号。
所以如果你应该同时使用这两个条件你应该做(A && !B) || (C && D)
但是,在某些代码中,我看到它们没有使用括号?那时会发生什么?我认为那没有编译:
A && !B || C && D
我猜它会像使用 SUMS 或 MULTIPLICATIONS 一样解决,我的意思是,在读取它们时解决它们:
(((A && !B) || C) && D)
【问题讨论】:
所有符号都有一个操作顺序:+、*、&、|| 等,必须有:请参阅this 但如果有疑问或为确保清晰,请使用括号是个好主意。 【参考方案1】:And (&&
) 优先于 order of operations 中的 or (||
)。所以,这个
A && !B || C && D
完全等价于
(A && !B) || (C && D)
【讨论】:
而且由于!
优先于&&
和||
,它也等同于(A && (!B)) || (C && D)
。以上是关于Java - 在相同条件下具有 AND 和 OR,没有括号 [重复]的主要内容,如果未能解决你的问题,请参考以下文章