如何在 Java 中检查数字是否为正数

JavaJavaBeginner
立即练习

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

简介

在这个实验中,你将学习如何在 Java 中检查一个数字是否为正数。我们将从编写一个简单的程序开始,使用基本的条件语句将一个数字与零进行比较。

然后,你将扩展这方面的知识,对整数和双精度浮点数这两种数据类型进行测试,了解如何处理不同的数值表示方式。最后,我们将探讨如何处理边界情况,特别关注如何正确识别和处理数字为零的情况。


Skills Graph

%%%%{init: {'theme':'neutral'}}%%%% flowchart RL java(("Java")) -.-> java/BasicSyntaxGroup(["Basic Syntax"]) java/BasicSyntaxGroup -.-> java/data_types("Data Types") java/BasicSyntaxGroup -.-> java/operators("Operators") java/BasicSyntaxGroup -.-> java/variables("Variables") java/BasicSyntaxGroup -.-> java/if_else("If...Else") java/BasicSyntaxGroup -.-> java/output("Output") subgraph Lab Skills java/data_types -.-> lab-559968{{"如何在 Java 中检查数字是否为正数"}} java/operators -.-> lab-559968{{"如何在 Java 中检查数字是否为正数"}} java/variables -.-> lab-559968{{"如何在 Java 中检查数字是否为正数"}} java/if_else -.-> lab-559968{{"如何在 Java 中检查数字是否为正数"}} java/output -.-> lab-559968{{"如何在 Java 中检查数字是否为正数"}} end

将数字与零进行比较

在这一步中,我们将编写一个简单的 Java 程序,用于将一个数字与零进行比较。这将向你介绍 Java 中的基本条件语句,特别是 if 语句。条件语句能让你的程序根据特定条件做出决策。

  1. 首先,确保你处于正确的目录中。打开 WebIDE 底部的终端,输入以下命令,然后按回车键:

    cd ~/project

    这能确保你位于 ~/project 目录下,我们将在此目录中创建 Java 文件。

  2. 现在,让我们创建一个名为 CompareNumber.java 的新 Java 文件。你可以通过在左侧的文件资源管理器中右键单击,选择“新建文件”,然后输入 CompareNumber.java 来完成。或者,你也可以使用终端:

    touch CompareNumber.java
  3. 在文件资源管理器中点击 CompareNumber.java 文件,将其在代码编辑器中打开。

  4. 将以下 Java 代码复制并粘贴到编辑器中:

    public class CompareNumber {
        public static void main(String[] args) {
            int number = 10; // We will compare this number with zero
    
            if (number > 0) {
                System.out.println("The number is positive.");
            }
        }
    }

    让我们来看看这段代码的新部分:

    • int number = 10;:这行代码声明了一个名为 numberint(整数)类型变量,并将其赋值为 10。变量用于在程序中存储数据。
    • if (number > 0):这是一个 if 语句。它会检查括号内的条件 (number > 0) 是否为真。如果条件为真,则会执行紧随其后的花括号 {} 内的代码。
    • System.out.println("The number is positive.");:只有当 number 大于 0 时,这行代码才会执行。
  5. 保存文件(Ctrl+S 或 Cmd+S)。

  6. 现在,在终端中使用 javac 命令编译 Java 程序:

    javac CompareNumber.java

    如果没有错误,~/project 目录下将创建一个 CompareNumber.class 文件。

  7. 最后,使用 java 命令运行编译后的程序:

    java CompareNumber

    由于 number 变量被设置为 10(大于 0),你应该会看到以下输出:

    The number is positive.

你已经成功编写并运行了一个使用 if 语句将数字与零进行比较的 Java 程序。在下一步中,我们将扩展这个程序以处理不同的情况。

对整数和双精度浮点数进行测试

在上一步中,我们将一个整数与零进行了比较。Java 支持不同类型的数字,包括整数(没有小数部分的数)和浮点数(有小数部分的数)。在这一步中,我们将修改程序,对整数和双精度浮点数这两种数据类型进行测试,并引入 else 语句来处理数字不为正数的情况。

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

  2. 修改代码,添加一个 else 代码块。将现有代码替换为以下内容:

    public class CompareNumber {
        public static void main(String[] args) {
            int number = -5; // Let's test with a negative integer
    
            if (number > 0) {
                System.out.println("The number is positive.");
            } else {
                System.out.println("The number is not positive.");
            }
        }
    }

    以下是新增的部分:

    • int number = -5;:我们将 number 的值改为 -5,以测试 else 条件。
    • else { ... }:如果前面 if 语句中的条件为假,则执行 else 代码块。在这种情况下,如果 number > 0 为假,则会运行 else 代码块中的代码。
  3. 保存文件(Ctrl+S 或 Cmd+S)。

  4. 在终端中编译修改后的程序:

    javac CompareNumber.java
  5. 运行编译后的程序:

    java CompareNumber

    由于 number 为 -5,if 条件 (-5 > 0) 为假,因此会执行 else 代码块。你应该会看到以下输出:

    The number is not positive.
  6. 现在,让我们用 double(浮点数)类型进行测试。再次修改代码:

    public class CompareNumber {
        public static void main(String[] args) {
            double decimalNumber = 3.14; // Test with a positive double
    
            if (decimalNumber > 0) {
                System.out.println("The number is positive.");
            } else {
                System.out.println("The number is not positive.");
            }
        }
    }

    我们将变量类型改为 double,并为其赋值一个小数。

  7. 保存文件。

  8. 编译程序:

    javac CompareNumber.java
  9. 运行程序:

    java CompareNumber

    由于 decimalNumber 为 3.14(大于 0),if 条件为真,你应该会看到以下输出:

    The number is positive.

现在你已经了解了如何使用 else 语句,以及如何对整数和双精度浮点数这两种数据类型进行比较。在下一步中,我们将处理数字恰好为零的特定情况。

处理零这类边界情况

在前面的步骤中,我们处理了正数和非正数的情况。然而,我们还没有专门处理数字恰好为零的情况。在编程中,处理这些“边界情况”对于确保程序在所有情况下都能正确运行非常重要。在这一步中,我们将使用 else if 语句来专门检查数字是否为零。

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

  2. 修改代码,添加一个 else if 代码块来检查数字是否为零。将现有代码替换为以下内容:

    public class CompareNumber {
        public static void main(String[] args) {
            int number = 0; // Let's test with zero
    
            if (number > 0) {
                System.out.println("The number is positive.");
            } else if (number == 0) {
                System.out.println("The number is zero.");
            } else {
                System.out.println("The number is negative.");
            }
        }
    }

    让我们看看这些改动:

    • int number = 0;:我们将 number 设置为 0,以测试新的条件。
    • else if (number == 0):这是一个 else if 语句。只有当前面的 if 条件 (number > 0) 为假时,才会检查这个条件。条件 number == 0 用于检查 number 的值是否恰好等于 0。注意,比较时使用双等号 (==),因为单等号 (=) 用于赋值。
    • System.out.println("The number is zero.");:如果 number 恰好为 0,则会执行这一行代码。
    • 最后的 else 代码块现在专门处理数字既不是正数也不是零的情况,这意味着它一定是负数。
  3. 保存文件(Ctrl+S 或 Cmd+S)。

  4. 在终端中编译修改后的程序:

    javac CompareNumber.java
  5. 运行编译后的程序:

    java CompareNumber

    由于 number 为 0,第一个 if 条件 (0 > 0) 为假。else if 条件 (0 == 0) 为真,因此会执行其代码块。你应该会看到以下输出:

    The number is zero.
  6. 现在,让我们再次用负数进行测试。将 number 的值改为 -10:

    public class CompareNumber {
        public static void main(String[] args) {
            int number = -10; // Test with a negative number
    
            if (number > 0) {
                System.out.println("The number is positive.");
            } else if (number == 0) {
                System.out.println("The number is zero.");
            } else {
                System.out.println("The number is negative.");
            }
        }
    }
  7. 保存文件。

  8. 编译程序:

    javac CompareNumber.java
  9. 运行程序:

    java CompareNumber

    由于 number 为 -10,if 条件 (-10 > 0) 为假,else if 条件 (-10 == 0) 也为假。因此,最后的 else 代码块将被执行,你应该会看到以下输出:

    The number is negative.

现在,你已经成功使用 ifelse ifelse 语句将一个数字与零进行比较,并判断它是正数、负数还是零。这是 Java 程序中进行决策的基本模式。

总结

在本次实验中,我们首先学习了如何通过导航到正确的目录并创建一个新的 Java 文件来设置开发环境。接着,我们使用 if 语句介绍了 Java 中条件语句的基本概念。通过编写一个简单的程序,我们学习了如何声明一个整数变量、为其赋值,并在 if 条件中使用 > 运算符来检查该数字是否大于零。我们了解到,只有当条件为真时,if 语句中的代码块才会被执行,这展示了如何打印一条消息来表明该数字是正数。