“高等优先”是什么意思?

时间:2013-08-08 03:21:25

标签: java boolean-operations

根据wiki,AND的优先级高于OR。

我想知道,如果我有一个陈述为 a ||的条款b&& ç

应该如何首先计算? (a||b) or (b && c)?

5 个答案:

答案 0 :(得分:3)

由于优先级,它的评估为

(a || ( b && c))

如果您添加括号(手动),则会先判断括号,然后更改所有内容。

如果你写

   ((a || b) && c)

那很重要!

答案 1 :(得分:2)

你应该在测试脚本中尝试一下,但是如果wiki说AND具有更高的优先级,那么我认为首先调用b&&c

答案 2 :(得分:1)

AND优先于JAVA中的OR。因此(b && c)应该在表达式(a||b)

中的a || b && c之前计算出来

选中此列表以获取完整列表:

http://docs.oracle.com/javase/tutorial/java/nutsandbolts/operators.html

从链接中获取快照:

enter image description here

答案 3 :(得分:1)

因为AND具有更高阶的优先级,所以首先评估(b& c),然后将其结果与a进行OR运算。换句话说,这相当于|| (b&& c)

答案 4 :(得分:0)

这是非常简单的答案,它首先评估b& c,因为 AND 操作的优先级高于 OR 操作。

让我用一个更为人熟知的关于优先权的例子来解释,

我们取5 + 2 * 2

我们都知道2 * 2是第一个评估,然后5将被添加到4(2 * 2)。同样,逻辑中的评估顺序也是如此,这是您必须遵循的标准。 :)