我试图理解赋值操作的返回值究竟是如何工作的。 然后是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
或者是因为其他原因?
答案 0 :(得分:3)
你做得对。 operator precedence rules确保首先评估==
运算符。那个b1==false
,产生了真实。之后,执行已分配,将b2
设置为true。最后,赋值运算符将值返回为b2,由if
语句计算。