我已經在下面的代碼中寫了下面的代碼。因爲我將布爾值賦值爲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)部分。 –