我有点在下面的Java代码混淆。首先它似乎分配一个布尔变量的赋值语句... boolean bvalue = (b = true)
而不是真或假。的Java布尔分配混乱
然后输出是TRUE
,FALSE
,TRUE
。输出结果的第三个也是最后一个真值让我感到困惑,因为第一个if-conditional条件下b值的计算结果为真。我没有看到任何明确赋予bvalue false的代码。任何有用的意见将不胜感激。
boolean b;
boolean bvalue = (b = true);
if (bvalue)
System.out.println("TRUE");
else
System.out.println("FALSE");
if (bvalue = false)
System.out.println("TRUE");
else
System.out.println("FALSE");
if (bvalue == false)
System.out.println("TRUE");
else
System.out.println("FALSE");
你确定这编译,因为我认为这将是'bvalue == FALSE',不'bvalue =假' –
仅供参考,使用'if(!bvalue)'而不是'if(bvalue == false)'。 –