使用短路运算符时&&
和||
,我得到了意想不到的结果。
if(false && false || true) {
System.out.println("true");
} else {
System.out.println("false");
}
它给了我true
但根据短路规则,如果第一个操作数是 false
那么就没有必要计算第二个操作数。谁能解释一下我遗漏了什么。
最佳答案
(false && false) || true
首先评估。短路给出false
,因此||
不能被短路,因此被完全评估,
关于java - 短路运算符给我不同的结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23461426/