如何在 Java 中检查布尔变量是否为 false

JavaJavaBeginner
立即练习

💡 本教程由 AI 辅助翻译自英文原版。如需查看原文,您可以 切换至英文原版

简介

在这个实验中,你将学习如何在 Java 中检查布尔变量是否为 false。我们将探讨处理布尔值的基本技术,这些技术对于根据条件控制程序流程至关重要。

通过实际操作示例,你将练习使用相等运算符 (==) 来检查是否为 false,使用 Boolean 对象进行测试,并结合对 truefalse 条件的检查。在本实验结束时,你将牢固掌握如何在 Java 程序中有效利用布尔变量。


Skills Graph

%%%%{init: {'theme':'neutral'}}%%%% flowchart RL java(("Java")) -.-> java/BasicSyntaxGroup(["Basic Syntax"]) java(("Java")) -.-> java/ObjectOrientedandAdvancedConceptsGroup(["Object-Oriented and Advanced Concepts"]) java(("Java")) -.-> java/SystemandDataProcessingGroup(["System and Data Processing"]) java/BasicSyntaxGroup -.-> java/operators("Operators") java/BasicSyntaxGroup -.-> java/booleans("Booleans") java/BasicSyntaxGroup -.-> java/if_else("If...Else") java/ObjectOrientedandAdvancedConceptsGroup -.-> java/wrapper_classes("Wrapper Classes") java/SystemandDataProcessingGroup -.-> java/object_methods("Object Methods") subgraph Lab Skills java/operators -.-> lab-559933{{"如何在 Java 中检查布尔变量是否为 false"}} java/booleans -.-> lab-559933{{"如何在 Java 中检查布尔变量是否为 false"}} java/if_else -.-> lab-559933{{"如何在 Java 中检查布尔变量是否为 false"}} java/wrapper_classes -.-> lab-559933{{"如何在 Java 中检查布尔变量是否为 false"}} java/object_methods -.-> lab-559933{{"如何在 Java 中检查布尔变量是否为 false"}} end

使用相等运算符检查是否为 false

在这一步中,我们将探讨如何在 Java 中使用相等运算符 (==) 来检查布尔变量是否为 false。理解如何处理布尔值是编程的基础,因为它们用于根据条件控制程序的流程。

布尔变量可以持有两个值之一:truefalse。这些值通常是比较或逻辑运算的结果。

让我们创建一个简单的 Java 程序来演示如何检查是否为 false

  1. 如果 HelloJava.java 文件尚未在 WebIDE 编辑器中打开,请打开它。

  2. 将现有代码替换为以下内容:

    public class HelloJava {
        public static void main(String[] args) {
            boolean isComplete = false;
    
            if (isComplete == false) {
                System.out.println("The task is not complete.");
            }
        }
    }

    让我们看看新增的部分:

    • boolean isComplete = false;:这行代码声明了一个名为 isComplete 的布尔变量,并将其初始值设为 false
    • if (isComplete == false):这是一个 if 语句,仅当某个条件为真时才会执行代码块。这里的条件是 isComplete == false== 运算符用于检查 isComplete 的值是否等于 false
    • System.out.println("The task is not complete.");:仅当条件 isComplete == false 为真时,才会执行这行代码。
  3. 保存文件(Ctrl+S 或 Cmd+S)。

  4. 在终端中使用 javac 命令编译程序:

    javac HelloJava.java

    如果没有错误,你将看不到任何输出。

  5. 使用 java 命令运行编译后的程序:

    java HelloJava

    你应该会看到以下输出:

    The task is not complete.

    这个输出证实了条件 isComplete == false 确实为真,并且 if 代码块中的代码被执行了。

使用相等运算符 (==) 来检查布尔值是否为 false 是表达此条件的一种直接方式。在下一步中,我们将探索另一种检查 false 值的方法。

使用 Boolean 对象进行测试

在上一步中,我们使用了基本布尔类型。Java 还有一个对应的类叫做 Boolean,它是基本布尔类型的对象包装器。虽然你通常会使用基本类型,但了解 Boolean 对象很有用,特别是在处理需要对象的集合或方法时。

在这一步中,我们将了解在使用 Boolean 对象时如何检查 false 值。

  1. 在 WebIDE 编辑器中打开 HelloJava.java 文件。

  2. 将当前代码替换为以下内容:

    public class HelloJava {
        public static void main(String[] args) {
            Boolean isProcessed = Boolean.FALSE;
    
            if (isProcessed.equals(false)) {
                System.out.println("The item has not been processed.");
            }
        }
    }

    让我们看看这些更改:

    • Boolean isProcessed = Boolean.FALSE;:这行代码声明了一个名为 isProcessedBoolean 对象,并使用静态常量 Boolean.FALSE 对其进行初始化,该常量表示布尔值 false
    • if (isProcessed.equals(false)):在 Java 中处理对象时,通常建议使用 equals() 方法来比较它们的值,而不是 == 运算符。Boolean 类的 equals() 方法会检查对象的布尔值是否等于作为参数传递的布尔值。
  3. 保存文件(Ctrl+S 或 Cmd+S)。

  4. 在终端中使用 javac 编译程序:

    javac HelloJava.java

    同样,没有输出意味着编译成功。

  5. 使用 java 运行程序:

    java HelloJava

    你应该会看到以下输出:

    The item has not been processed.

    这表明 equals() 方法正确识别出 Boolean 对象 isProcessed 持有布尔值 false

虽然对基本布尔类型使用 == false 很常见且完全没问题,但使用 .equals(false) 是比较 Boolean 对象的标准方式。理解基本类型与其对象包装器之间的区别是 Java 中的一个重要概念。

组合 truefalse 检查

在实际编程中,你经常需要同时检查多个条件。这涉及使用逻辑运算符(如 &&(逻辑与)和 ||(逻辑或))来组合对 truefalse 值的检查。

在这一步中,我们将修改程序,使其包含对 truefalse 条件的检查。

  1. 在 WebIDE 编辑器中打开 HelloJava.java 文件。

  2. 将当前代码替换为以下内容:

    public class HelloJava {
        public static void main(String[] args) {
            boolean isTaskStarted = true;
            boolean isTaskFinished = false;
    
            if (isTaskStarted == true && isTaskFinished == false) {
                System.out.println("The task has started but is not finished.");
            }
    
            if (isTaskStarted == false || isTaskFinished == true) {
                 System.out.println("The task is either not started or is already finished.");
            }
        }
    }

    让我们来分析一下这段新代码:

    • boolean isTaskStarted = true;:我们声明了一个布尔变量 isTaskStarted,并将其设置为 true
    • boolean isTaskFinished = false;:我们声明了另一个布尔变量 isTaskFinished,并将其设置为 false
    • if (isTaskStarted == true && isTaskFinished == false):这个 if 语句使用了逻辑与运算符 (&&)。只有当两个条件都为 true 时,即 isTaskStartedtrueisTaskFinishedfalse,这个代码块内的代码才会执行。
    • if (isTaskStarted == false || isTaskFinished == true):这个 if 语句使用了逻辑或运算符 (||)。只要至少有一个条件为 true,即 isTaskStartedfalse 或者 isTaskFinishedtrue,这个代码块内的代码就会执行。
  3. 保存文件(Ctrl+S 或 Cmd+S)。

  4. 在终端中使用 javac 编译程序:

    javac HelloJava.java
  5. 使用 java 运行程序:

    java HelloJava

    根据 isTaskStartedisTaskFinished 的初始值,你应该会看到以下输出:

    The task has started but is not finished.

    第一个 if 条件 (true && false) 计算结果为 true,所以第一个 println 语句会执行。第二个 if 条件 (true || false) 计算结果为 false,所以第二个 println 语句不会执行。

    等等,输出只有“The task has started but is not finished.”?让我们重新评估一下这些条件:

    • isTaskStarted == true && isTaskFinished == falsetrue == truetruefalse == falsetruetrue && truetrue。所以第一条消息会打印出来。
    • isTaskStarted == false || isTaskFinished == truetrue == falsefalsefalse == truefalsefalse || falsefalse。所以第二条消息不会打印出来。

    抱歉,预期的输出确实只有第一行。这展示了逻辑运算符是如何组合条件的。

    你可以通过更改 isTaskStartedisTaskFinished 的初始值并重新运行程序,来观察输出是如何变化的。

使用逻辑运算符组合布尔检查是控制程序流程并根据多个因素做出决策的强大方法。

总结

在本次实验中,我们学习了如何在 Java 中检查布尔变量是否为 false。首先,我们使用相等运算符 (==) 将布尔变量直接与 false 字面量进行比较。这展示了检查 false 条件并使用 if 语句控制程序流程的基本方法。然后,我们用一个简单的 Java 程序测试了这一概念,编译并运行该程序,以观察当布尔变量确实为 false 时的预期输出。