public class done {
public static void main (String args[]) {
boolean b=true;
if(b=false){
System.out.println("a");
}
else if(b) {
System.out.println("b");
}
else if(!b) {
System.out.println("c");
}
else {
System.out.println("d");
}
}
}
以上代码,输出结果是c,但是if(b)不是相等于if(b=true),应该先输出b不是么,为什么是进入到if(!b)里面呢?
原因解析: java中 = 表示赋值. ==是比较. (所以=等号,和数学的等号意思不一致)
if(b=false) 并不是在判断b和false是否相等, 而是把b的值重新赋值为false
boolean b = true;