public class MyClass
{
public static void main(String args[])
{
Boolean b=false;
if(b=true)
{
System.out.println("TRUE");
}
if(b=false){
System.out.println("FALSE");
}
}
}
尽管对于大多数人来说这似乎是一个非常简单的问题,但我无法理解当我运行此代码时输出为TRUE。无法理解此背后的逻辑
由于=
是赋值运算符,以便因此这两种情况下它应该是真实的,因为这些值被分配即if(b=true) = true
(有效)和if(b=false) = true
(有效)。由于这里没有其他条件,所以它应该同时给出TRUE和FALSE作为输出。
'b = false'返回'false'。 – BobTheBuilder 2013-04-22 09:19:24
输出正确。 'if(b = false)'将'false'赋给'b',所以'b'是'false',这就是为什么'if'块没有被输入的原因。 – jlordo 2013-04-22 09:19:43
@Baadshah问题是输出结果只显示“TRUE”,但我认为它应该是“true”和“false” – 2013-04-22 09:20:29