Java基础知识 - 条件

时间:2018-03-21 07:29:46

标签: java

任何人都可以解释它是如何回归的" 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");}
    }
 }

感谢帮助我

2 个答案:

答案 0 :(得分:0)

b = falsefalse分配给b并返回false。因此,if (b = false)条件为falseif (b)条件也为false

true的第一个条件是if (!b),这导致" C"被打印。

答案 1 :(得分:0)

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
    }
 }