我在下面的代码中写了这个。由于我将布尔值赋值为false,然后再将b
语句中的if
变量赋值为false,因此条件为真,输出应为“hello”。但是,输出结果为“hi”。有人可以赐教我吗?
boolean b= false;
if (b=false){
System.out.println("hello");
}
else {
System.out.println("hi");
}
答案 0 :(得分:1)
尝试(b == false)
或(!b)
当您执行b=false
时,您正在检查赋值运算符,您希望使用==
来检查相等性
答案 1 :(得分:1)
你的问题出在你的
上b=false
=
是一个赋值运算符。您需要的是==
,它将进行比较。
如果想检查布尔值是否为假,您也可以使用等同于!b
的{{1}}。
答案 2 :(得分:-2)
执行以下行时:
if(b=false)
将false赋给b,然后使用b的值来评估将成为
的if条件if(false)
因此程序的控制将转到else块。
您可以这样做:
if( !(b=false) ) {
System.out.println("hello");
}
else {
System.out.println("hi");
}