public class Test {
public static void main(String[] args) {
boolean m = true;
if (m = false) {
System.out.println("true");
} else {
System.out.println("false");
}
}}
public class Test {
public static void main(String[] args) {
boolean m = true;//初始化m为真
if (m = false) //这一句本来是一个判断性语句,括号里面为判断的条件,如果为真就执行大括号内容,如果为假就执行else对应的大括号内容。分析括号里面的语句 m=false 这里的表达式和上一句 boolean m=true 性质一样,也就是将已经初始化为真的m再次初始化为了假。因此if小括号里面的表达式的值就为假。
也就是说小括号里面同时干了两件事 1 再次初始化m为假,2 将表达式的值作为if语句的判断标准
public class Test {
public static void main(String[] args) {
boolean m = true;
if (m = false) {//在这句的时候将false赋值给了m,所以 if语句条件为假,则执行的是else的语句
System.out.println("true");
} else {
System.out.println("false"); //执行的是该else语句,所以输出false
}
}}