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,没有括号 [重复]的主要内容,如果未能解决你的问题,请参考以下文章

Python 操作Redis

python爬虫入门----- 阿里巴巴供应商爬虫

Python词典设置默认值小技巧

《python学习手册(第4版)》pdf

Django settings.py 的media路径设置

Python中的赋值,浅拷贝和深拷贝的区别