Eclipse"局部变量b永远不会被读取"msg虽然我分配并使用布尔java变量?

ahm*_*l88 -1 java eclipse if-statement boolean

当我尝试遵循java代码时
false值赋值给我的布尔变量b并在同一语句上使用if条件
有来自eclipse IDE的消息
提示我"The local variable b is never read"

boolean b = false;
 if (b = false) { // boolean assignment & usage on one statement
    System.out.println("true");
}else {
    System.out.println("false");
}
Run Code Online (Sandbox Code Playgroud)

尽管我使用我的变量,但请说明为什么会出现此消息?
注意:如果条件是b==false该消息将不会显示

T.J*_*der 5

将false值赋给我的布尔变量b,并在if条件下使用它

第一部分是正确的:您为一个值赋值b.第二部分不是:你永远不会b在那里使用.您使用赋值的结果,这是值false,而不是任何与之相关的结果b.

这将分配然后使用 b:

b = false;
if (b) {
Run Code Online (Sandbox Code Playgroud)

但是这个:

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

只是一个赋值b,然后使用该值false.

所以错误是正确的:b分配了一个值,它的值永远不会被使用.