public class Demo
{
public static void main(String[] args)
{
boolean m = true;
if (m = false)
{
System.out.println("true");
} else
{
System.out.println("false");
}
}
} |
1 m=false 是赋值,即把内存中false值的地址传递给m,让这个变量m指向false,赋值完后整个语句的值还是m,也就是说
m=false赋值完后返回的结果是m的值(已经被赋为false);
2所以if(m=false){} 相当于 if(false){} 。
假设int m=10; if(m=100){} 就相当于 if(100){},而if语句里面只能判读boolean型,
而boolean类型于其它类型是不能转换的,所以必然出错。
|