我已经在下面的代码中写了下面的代码。因为我将布尔值赋值为false,然后在if
语句中将b
变量赋值为false,因此条件为true,并且输出应为“hello”。但是,输出将是“嗨”。任何人都可以请赐教吗?带有布尔条件的if语句中的代码
boolean b= false;
if (b=false){
System.out.println("hello");
}
else {
System.out.println("hi");
}
我已经在下面的代码中写了下面的代码。因为我将布尔值赋值为false,然后在if
语句中将b
变量赋值为false,因此条件为true,并且输出应为“hello”。但是,输出将是“嗨”。任何人都可以请赐教吗?带有布尔条件的if语句中的代码
boolean b= false;
if (b=false){
System.out.println("hello");
}
else {
System.out.println("hi");
}
尝试(b == false)
或(!b)
当你b=false
,你在执行以下行要使用==
检查平等
要检查对赋值操作符:
if(b=false)
false被分配给b,然后b的值被用来评估if con这将成为
if(false)
因此程序的控制权将转到else块。
你可以做这样的事情:
if(!(b=false)) {
System.out.println("hello");
}
else {
System.out.println("hi");
}
你的问题是在你
b=false
=
是赋值运算符。你需要的是==
哪个比较。
如果要检查布尔值是否为false,则还可以使用!b
,这相当于b== false
。
在'if(b = false)','='是赋值运算符 – khelwood
欢迎使用StackOverflow。请在发布任何内容前阅读[如何提问](https://stackoverflow.com/help/how-to-ask)部分。 –