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);
}
}
在尝试学习布尔值时,我在网上看到了此代码,其输出为false。有人可以向我解释为什么输出错误吗?谢谢
答案 0 :(得分:0)
您将“ b”设置为false,然后将其更改为true,因此“ b”为true。然后将“ toBe”设置为false。下一行不执行任何操作,它返回true,但未将其分配给任何内容。然后,您检查“ b”是否等于true,并且确实如此。因此,然后打印出等于“ false”的“ toBe”。这就是打印false的原因。
希望这会有所帮助!
答案 1 :(得分:0)
||
是逻辑或运算符。如果至少一个运算符为true,则返回true。真值表如下所示:
a b a || b
1 1 1
1 0 1
0 1 1
0 0 0
这意味着b将为true,因此if语句中的块将执行。并且输出“ false”,因为这是toBe
的值。
答案 2 :(得分:0)
自boolean toBe = false;
b=toBe || !toBe
b = false || !fasle
b = false || true
b = true
所以b为true,表示
System.out.println(toBe); // prints false since tobBE is false
请:请参阅真值表以了解短路逻辑或||
True || x = True
false || True = True
false || Flase = false
x ->
是无关紧要的,即true
或false