首页 > 解决方案 > 布尔值如何在 Java 中的 if 语句中工作?

问题描述

我试图了解for循环的基础知识以及它们如何与booleans 一起工作。我写了几行简单的代码,我不太明白为什么输出是这样的。

public class notes { 
    public static void main(String[] args) {
        boolean[] test = {false, false, true};
        if (test[0] = false) {
           System.out.println("yes");
        } else {
           System.out.println("no");
        }
    }
}

我会假设因为测试数组中索引 0 处的布尔值是假的,所以这个 if 语句也应该打印是。但是,它打印没有。为什么是这样?

标签: javafor-loopboolean

解决方案


像这样试试。由于条件会导致真或假条件,因此您可以单独使用布尔值。由于您希望它在 false 时打印 yes,因此您需要将其设为 true 以便条件成功。!因此,通过在 bang (也称为 NOT 运算符)前加前缀来反转条件。

public class notes {
    public static void main(String[] args) {
       boolean[] test = {false, false, true};
    
       // if false do it.
       if(!test[0]) {
         System.out.println("yes");  
       } else {
          System.out.println("no");
       }
     }
}
   

推荐阅读