Java中判断奇偶数最常用取模运算符%配合if-else,整数对2取模为0是偶数、否则奇数;支持负数(如-5%2=-1),推荐封装为boolean方法isEven(int n),避免冗余比较和除法判断。

Java 中判断奇偶数最常用的方法是用取模运算符 % 配合 if-else 分支语句,核心逻辑是:一个整数对 2 取模结果为 0 就是偶数,否则是奇数。
用 if-else 判断单个整数的奇偶性
这是最基础也最直观的方式。注意变量类型推荐用 int(或 long 等整型),避免浮点数参与奇偶判断(无定义):
- 写法示例:
int num = 7;
if (num % 2 == 0) {
System.out.println("偶数");
} else {
System.out.println("奇数");
} - 关键细节:`num % 2` 在 Java 中对负数也成立,比如 `-5 % 2` 结果是 -1(不等于 0),所以被正确判定为奇数;`-4 % 2` 是 0,判定为偶数。
用 switch 表达式(Java 14+)简洁处理
如果你用的是较新版本(Java 14 起支持 switch 表达式),可以更紧凑地写出判断逻辑:
- 示例:
String result = switch (num % 2) {
case 0 -> "偶数";
case 1, -1 -> "奇数"; // 注意:负数取模可能得 -1,需覆盖
default -> "非整数"; // 实际中不会触发,因 num 是 int
};
System.out.println(result); - 提示:虽然 `num % 2` 对 int 永远是 0、1 或 -1,但只写 `case 0` 和 `case 1` 会漏掉负奇数,稳妥起见建议包含 `-1`。
封装成方法,提升复用性
把判断逻辑抽成独立方法,便于多处调用和后期维护:
- 示例:
public static boolean isEven(int n) {
return n % 2 == 0;
}
// 使用:
if (isEven(10)) {
System.out.println("10 是偶数");
} - 返回 boolean 更通用,调用方可以自由决定输出内容或后续逻辑,比直接打印更灵活。
避免常见误区
- 不用 == true/false 显式比较:写 `if (isEven(x) == true)` 是冗余的,直接 `if (isEven(x))` 即可。
- 别用除法判断:比如 `num / 2 * 2 == num` 效率低且易受整数溢出或类型转换影响,不推荐。
- Scanner 输入时注意异常:如果从用户输入读取,要用 try-catch 处理 `InputMismatchException`,防止输入非数字导致程序崩溃。
Java免费学习笔记:立即使用
解锁 Java 大师之旅:从入门到精通的终极指南











