如果Statement示例帮助JAVA

use*_*571 -5 java if-statement

我目前正在阅读OCA Java SE 7程序员I学习指南,我需要帮助理解一个例子.这是代码:

boolean b;
    boolean bValue = (b = true);
    //Evaluates to 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");
Run Code Online (Sandbox Code Playgroud)

我遇到此代码问题的地方是第二个输出.为什么这是假的而不是真的?
是bValue的情况现在是假的,因此不满足if显示"FALSE"的含义吗?

编辑:我知道=和==之间的区别.我不明白的是它不应该打印"TRUE"吗?

提前致谢.

Jes*_*per 7

因为在这一行:

if (bValue = false)
Run Code Online (Sandbox Code Playgroud)

指定的值falsebValue,表达式的结果false.