Java -Boolean表达变量,它是反向的

时间:2014-02-12 17:04:27

标签: java boolean conditional-operator unary-operator

这令人困惑。
问题:给出每个表达式的值。

x && !x

这是真是假?

5 个答案:

答案 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)

理论上可能是多线程的一些问题,但仅限于理论