public class Main {
public static void main(String[] args) {
boolean b = false;
b = true;
boolean toBe = false;
b = toBe || !toBe;
if (b) {
System.out.println(toBe);
}
}
我在网上看到了这段代码,当时我正试图学习布尔值,结果是错误的。有人能向我解释一下为什么输出是假的吗?谢谢
您将"b"设置为false,然后将其更改为true,因此"b"为true。然后将"toBe"设置为false。下一行什么也不做,它返回true,但不将其分配给任何内容。然后你检查"b"是否等于真,它是真的。然后你打印出"toBe",它等于false。这就是为什么打印false的原因。
希望这能有所帮助!!
||
是逻辑或运算符。如果至少有一个运算符为true,则返回true。真相表是这样的:
a b a || b
1 1 1
1 0 1
0 1 1
0 0 0
这意味着b将为true,因此if语句中的块将执行。它输出"false",因为这是toBe
的值。
自boolean toBe = false;
起
b=toBe || !toBe
b = false || !fasle
b = false || true
b = true
所以b是真的,这意味着
System.out.println(toBe); // prints false since tobBE is false
请参阅短路逻辑或||
的真值表
True || x = True
false || True = True
false || Flase = false
x ->
是不在乎的,即true
或false