谁能解释一下它为什么返回"C“,而不报告"b = false”中的错误?
class A {
public static void main(String[] args) {
boolean b;
if (b = false) {System.out.print("A");
} else if (b) {System.out.print("B");
} else if (!b) {System.out.print("C");
} else {System.out.print("D");}
}
}谢谢你帮我
发布于 2018-03-21 15:31:53
b = false将false赋值给b并返回false。因此,if (b = false)条件为false,if (b)条件也为false。
第一个条件是true是if (!b),这将导致打印"C“。
发布于 2018-03-21 15:32:16
class A {
public static void main(String[] args) {
boolean b;
if (b = false) {System.out.print("A"); //Assign false to b, gets false
} else if (b) {System.out.print("B"); //b is now false
} else if (!b) {System.out.print("C"); //NOT b is true
} else {System.out.print("D");} //never gets to this block
}
}https://stackoverflow.com/questions/49400530
复制相似问题