在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