这令人困惑。
问题:给出每个表达式的值。
x && !x
这是真是假?
答案 0 :(得分:4)
true && !true => false
false && !false => false
唯一的另一个选择是
Boolean x = null;
x && !x => NullPointerException.
答案 1 :(得分:2)
我不知道我是否理解了你的问题,但我看不出那个表达式会如何评价为真。如果要将x设置为True,则!x将评估为False,反之亦然。如果两个参数均为True,则逻辑AND操作将仅计算为True。由于情况永远不会如此,表达式将始终为False。
如果左侧为False,则仅发生短路。然后就没有必要评估右侧了。如果左边是True,表达式永远不会短路。
答案 2 :(得分:0)
始终false
除了x
null
&&
被称为逻辑AND运算符。如果两个操作数均为true
,则条件变为true
。
答案 3 :(得分:0)
你为什么不自己测试一下?
我不知道短路是如何适用的。要检查它是否为true,AND运算符的两边必须为true,并且在整个exp为真的情况下没有快捷方式。
答案 4 :(得分:0)
理论上可能是多线程的一些问题,但仅限于理论