【发布时间】:2021-12-04 14:21:12
【问题描述】:
我对这段代码有点困惑。
我的教授解释说输出总是正确的,但我不知道为什么。
我将布尔值更改为 true 和 false,但输出始终为 true,我很难解释其背后的逻辑。我假设既然 false && true 总是代表 true,那么 true 和 false 会像代数一样抵消?对不起,如果我让你们感到困惑,我自己也很困惑!
public class TestProgram { public static void main(String args[]) { boolean answer = false; boolean output = (answer && true) ^ !answer; System.out.println("output = " + output); } }
【问题讨论】:
-
答案是什么并不重要,真异或假==假异或真==真。