0

可能重复:
当 Java 评估一个连词 (<boolean exp1> && <boolean exp2>) 时,如果 exp1 为假,它是否评估 exp2?

如果我有 2 个条件说,A 和 B,我输入:

A && B

它们是否都并行评估,然后才进行 AND?例如,如果我输入A && false它会评估A条件还是知道它无论如何都会是假的?

如果它不是并行完成的,它是从右边开始还是从左边开始?(A && falseVS false && A)。

谢谢。

编辑:明白了。谢谢大家!

4

2 回答 2

0
A && B

不,首先评估 A,如果 A 为假,则跳过评估 B 如果 A 为真,则检查 B 是否为真

A && false

在这种情况下,首先评估 A,如果 A 为假,则不检查下一个条件(假)。如果 A 为真,则将评估假,但由于它为假,因此整个条件将为假。

于 2012-11-07T14:14:41.117 回答
-4

它将从左到右开始。_ 也就是说,如果不涉及括号。

if("name".equals(variable1)){}

var1当为空时,is 会出错。但是,当您使用:

if(variable1.equals("name")){}

它是空安全的。

于 2012-11-07T14:15:48.770 回答