简介
在这个实验中,你将学习如何在 Java 中使用取模运算符来判断一个数是奇数还是偶数。我们将探讨取模运算符的概念,以及它在除以 2 时的结果如何区分奇数和偶数。
通过实际操作步骤,你将应用取模运算符来检查奇数,使用各种数字类型验证逻辑,并结合对偶数和奇数的检查,从而获得 Java 条件逻辑的实践经验。
在这个实验中,你将学习如何在 Java 中使用取模运算符来判断一个数是奇数还是偶数。我们将探讨取模运算符的概念,以及它在除以 2 时的结果如何区分奇数和偶数。
通过实际操作步骤,你将应用取模运算符来检查奇数,使用各种数字类型验证逻辑,并结合对偶数和奇数的检查,从而获得 Java 条件逻辑的实践经验。
在这一步中,你将学习如何在 Java 中使用取模运算符来判断一个数是奇数还是偶数。取模运算符 (%
) 用于计算除法的余数。例如,10 % 3
的结果是 1,因为 10 除以 3 商为 3,余数为 1。
如果一个数能被 2 整除,即它除以 2 的余数为 0,那么这个数就是偶数;如果一个数除以 2 的余数为 1,那么这个数就是奇数。
让我们创建一个新的 Java 程序来检查一个数是否为奇数。
如果 HelloJava.java
文件尚未在 WebIDE 编辑器中打开,请打开它。
将文件的全部内容替换为以下代码:
import java.util.Scanner;
public class HelloJava {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.print("Enter an integer: ");
int number = scanner.nextInt();
// 使用取模运算符检查数字是否为奇数
if (number % 2 != 0) {
System.out.println(number + " is an odd number.");
} else {
System.out.println(number + " is an even number.");
}
scanner.close();
}
}
让我们来看看代码的新增部分:
int number = scanner.nextInt();
:这行代码读取用户输入的整数值,并将其存储在名为 number
的变量中。if (number % 2 != 0)
:这是一个 if
语句,它使我们的程序能够做出决策。它检查 number
除以 2 的余数是否 不等于 0。!=
符号表示“不等于”。System.out.println(number + " is an odd number.");
:如果 if
语句中的条件为真(该数为奇数),则执行这行代码。else
:这个关键字引入了一个代码块,当 if
语句中的条件为假(该数为偶数)时执行。System.out.println(number + " is an even number.");
:如果该数为偶数,则执行这行代码。保存文件(Ctrl+S 或 Cmd+S)。
在终端中编译修改后的程序:
javac HelloJava.java
如果没有错误,将创建一个 HelloJava.class
文件。
运行编译后的程序:
java HelloJava
程序会提示你输入一个整数。输入一个数字(例如 7)并按回车键。程序会告诉你该数是奇数还是偶数。
Enter an integer: 7
7 is an odd number.
再次运行程序并输入一个偶数(例如 10)。
Enter an integer: 10
10 is an even number.
你已经成功使用取模运算符和 if-else
语句来检查一个数是奇数还是偶数。这是编程中基于条件控制程序流程的一个基本概念。
在上一步中,我们成功地检查了一个整数是奇数还是偶数。现在,让我们来探究取模运算符在不同类型数字上的表现,尤其关注负整数。
奇数和偶数的概念通常适用于整数。不过,了解取模运算符在 Java 中对负数的处理方式很重要,因为它的行为可能与你基于数学定义的预期不同。
在 Java 中,取模运算 (a % b
) 的结果与被除数 (a
) 的符号相同。
让我们修改程序以测试负数。
在 WebIDE 编辑器中打开 HelloJava.java
文件。
当前代码已经可以读取一个整数。我们可以使用相同的代码,只需在运行程序时输入负数即可。
import java.util.Scanner;
public class HelloJava {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.print("Enter an integer: ");
int number = scanner.nextInt();
// 使用取模运算符检查数字是否为奇数
if (number % 2 != 0) {
System.out.println(number + " is an odd number.");
} else {
System.out.println(number + " is an even number.");
}
scanner.close();
}
}
保存文件(Ctrl+S 或 Cmd+S)。
再次编译程序,确保使用的是最新版本:
javac HelloJava.java
运行程序:
java HelloJava
当提示输入时,输入一个负奇数(例如 -7)并观察输出。
Enter an integer: -7
-7 is an odd number.
输出正确地将 -7 识别为奇数,因为 -7 除以 2 商为 -3,余数为 -1。由于 -1 不等于 0,if
条件 number % 2 != 0
为真。
再次运行程序并输入一个负偶数(例如 -10)。
Enter an integer: -10
-10 is an even number.
输出正确地将 -10 识别为偶数,因为 -10 除以 2 商为 -5,余数为 0。if
条件 number % 2 != 0
为假,因此执行 else
块。
这表明我们当前使用取模运算符检查奇数/偶数的逻辑在 Java 中对正整数和负整数都能正确工作。关键在于,奇数除以 2 的余数始终不为零(要么是 1 要么是 -1),而偶数除以 2 的余数始终为 0。
在前面的步骤中,你学习了如何使用取模运算符来检查一个数是奇数还是偶数。当前的程序已经使用 if-else
语句处理了这两种情况。
在这一步中,你将回顾代码,确保理解 if-else
结构是如何有效地合并对偶数和奇数的检查的。
回顾上一步中使用的代码:
import java.util.Scanner;
public class HelloJava {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.print("Enter an integer: ");
int number = scanner.nextInt();
// 使用取模运算符检查数字是否为奇数
if (number % 2 != 0) {
System.out.println(number + " is an odd number.");
} else {
System.out.println(number + " is an even number.");
}
scanner.close();
}
}
让我们再次拆解这个逻辑:
number % 2 != 0
检查 number
除以 2 的余数是否 不等于 0。true
,则意味着该数是奇数,if
块内的代码将被执行:System.out.println(number + " is an odd number.");
。number % 2 != 0
为 false
,则意味着余数 等于 0。在这种情况下,该数必定是偶数,else
块内的代码将被执行:System.out.println(number + " is an even number.");
。这种 if-else
结构是处理两种互斥情况(一个数要么是奇数,要么是偶数)的常见方式。你不需要单独检查偶数,因为对于整数来说,如果一个数不是奇数,那它必定是偶数。
要完成这一步,只需确保你的 HelloJava.java
文件包含上述正确的代码。
在 WebIDE 编辑器中打开 HelloJava.java
文件。
验证代码是否与上面提供的示例一致,包括 import
语句、Scanner
的使用、提示信息、读取整数、带有取模检查的 if-else
语句以及关闭 Scanner
。
如果你进行了任何更改,请保存文件(Ctrl+S 或 Cmd+S)。
最后再编译一次程序以确保无误:
javac HelloJava.java
运行程序,并使用奇数和偶数(正数和负数)进行测试,以确认它按预期工作。
java HelloJava
奇数的示例输出:
Enter an integer: 9
9 is an odd number.
偶数的示例输出:
Enter an integer: -4
-4 is an even number.
你现在已经成功实现并验证了一个 Java 程序,该程序使用取模运算符和 if-else
语句来判断一个整数是奇数还是偶数。这种条件逻辑的基本概念对于构建更复杂的程序至关重要。
在本次实验中,你学习了如何在 Java 中使用取模运算符 (%
) 来判断一个数是奇数还是偶数。你了解到,如果一个数除以 2 的余数为 0,则该数为偶数;如果余数为 1,则该数为奇数。你在一个 Java 程序中实现了这一逻辑,该程序会获取用户输入,并输出该数是奇数还是偶数。
你还探究了如何使用各种数字类型验证这一检查,以及如何使用 if-else
语句在单个程序中合并对偶数和奇数的检查逻辑。通过这次实践,你对 Java 中用于基本数字属性检查的条件语句和取模运算符有了实际的理解。