最直接的方法是用 % 2 == 0 判断偶数、% 2 != 0 判断奇数;需注意负数取模符号与被除数一致,故不可用 == 1;位运算 n & 1 也可行且对负数安全;推荐封装为 iseven/isodd 工具方法。

用取模运算符 % 判断最直接:如果一个整数对 2 取模结果为 0,就是偶数;否则是奇数。
基本判断方式
Java 中最常用、最可靠的方法是使用 % 2 == 0:
你接手一个需求时,是不是经常这样:"改一个小字段 → 结果把不相关的代码也改了"、"需求说得很模糊 → 做着做着发现跑偏了"、"数据库加个字段 → 上线才发现漏了数据兼容"、"做了个新功能 → 一个月后自己都忘了当时怎么设计的"、"写到一半被中断 → 再回来不知道从哪继续";这个 Skill 就是专门解决这些问题的。 它会自动探测你的项目环境(JDK、Spring Boot、ORM、数据库、前端框架),记在
- 偶数:`n % 2 == 0`(例如:4 % 2 == 0 → true)
- 奇数:`n % 2 != 0` 或 `n % 2 == 1`(注意:负数时 `n % 2 == -1`,所以推荐用 `!= 0`)
处理负数的注意事项
Java 中负数取模结果符号与被除数一致,比如:-5 % 2 得 -1,-4 % 2 得 0。
因此,**不要写 `n % 2 == 1` 来判断奇数**,它对负奇数会失效。应统一用:
- `n % 2 == 0` → 偶数
- `n % 2 != 0` → 奇数
位运算优化(可选,适合整数)
对 int 或 long 类型,可以用位运算:(n & 1) == 0 判断偶数,(n & 1) == 1 判断奇数。原理是看二进制最低位是否为 0。
- 优点:比取模稍快(尤其在大量计算时)
- 注意:仅适用于整数类型,且对负数也正确(因为 Java 补码表示下,奇偶性由最低位决定)
封装成工具方法更安全
推荐封装成静态方法,兼顾可读性和健壮性:
public static boolean isEven(int n) {
return n % 2 == 0;
}
public static boolean isOdd(int n) {
return n % 2 != 0;
}Java免费学习笔记:立即使用
解锁 Java 大师之旅:从入门到精通的终极指南










