布尔值True或False


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 ->是不在乎的,即truefalse

最新更新