与java中赋值操作的返回值相混淆

时间:2017-01-07 16:30:19

标签: java

我试图理解赋值操作的返回值究竟是如何工作的。 然后是this post“Java返回指定的值”。

    boolean b1 = false, b2 = false;
    if (b2 = b1 == false) {
        System.out.println("true");
    } else {
        System.out.println("false");
    }

b2是真的,因为(b1 == false)返回true,然后返回b2赋值b2 = true

或者是因为其他原因?

1 个答案:

答案 0 :(得分:3)

你做得对。 operator precedence rules确保首先评估==运算符。那个b1==false,产生了真实。之后,执行已分配,将b2设置为true。最后,赋值运算符将值返回为b2,由if语句计算。