java - 如果Boolean为true但布尔值被声明为false,为什么这段代码会打印它应该打印的输出?

xso*_*son 0 java boolean

我有以下代码:

import java.util.*;
public class Test {
   public static void main(String[] args) {
   boolean b = false;
   if (b=true) 
      System.out.println("one. b = false");
   if (b)
      System.out.println("two. b = false");
   }
}
Run Code Online (Sandbox Code Playgroud)

输出是:

one. b = false
two. b = false
Run Code Online (Sandbox Code Playgroud)

我将b设置为等于false,那么为什么在b为真时打印语句?

pat*_*ite 5

你正在做作业,而不是比较

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

你的意思是使用

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