在java中,“=”表示賦值;而“==”表示判斷左右兩邊的值是否相等,當然,如果兩邊都是引用對象,則比較的是地址;
正常的 if 語句中的判斷條件都是用“==”,而用“=”會直接報錯,但boolean類型不一樣,它可以這樣寫,但是功能還是一樣的,也是賦值。
我舉個例子:
boolean m = false; if(m = false){ //這裏if裏面不會報錯,這裏是給m賦值false,所以不會執行if裏面的內容 System.out.println("false"); }else{ System.out.println("true"); } System.out.println(m); |
true
false
如果你還不明白,你可以接着看下面的例子:
boolean m = false; if(m = true){ //給m賦值爲true ,條件也變成了true, System.out.println("false"); }else{ System.out.println("true"); } System.out.println(m); |
false
true