用 % 2 判断奇偶性:n % 2 == 0 为偶数,n % 2 != 0 为奇数;该写法在 Python、Java、C++、JS 等语言中均可靠,可正确处理正负整数及 0。

用取模运算符 % 判断整数奇偶性,核心是看它除以 2 的余数:余数为 0 是偶数,余数为 1(或 -1)是奇数。
基本原理:% 2 的结果只有三种可能
对任意整数 n,n % 2 的结果只能是:
- 0 → n 能被 2 整除 → 偶数(例如:4 % 2 == 0,-6 % 2 == 0)
- 1 → n 是正奇数 → 奇数(例如:5 % 2 == 1)
- -1 → n 是负奇数(Python 中负数取模向地板取整,-5 % 2 == 1;但像 C/Java 中 -5 % 2 == -1)→ 仍是 奇数
因此,**判断逻辑统一为:n % 2 != 0 表示奇数,n % 2 == 0 表示偶数**——这个写法在 Python、Java、C++、JavaScript 等主流语言中都可靠。
常见写法示例(不同语言风格)
✅ 推荐简洁写法(布尔上下文自动转换):
- Python / JavaScript:
if n % 2:→ 奇数(因为 1/-1 为真,0 为假) - Java / C / C++:
if (n % 2 != 0)→ 更清晰,避免歧义
⚠️ 避免错误写法:if (n % 2 == 1) —— 在部分语言(如 Java)中,-3 % 2 等于 -1,不等于 1,会误判负奇数为偶数。
为什么不用 n & 1?(补充说明)
位运算 n & 1 同样高效且不受符号影响:最低位为 1 就是奇数,为 0 就是偶数。它比 % 2 更底层、更快,但可读性略低。日常开发中 % 2 更直观,足够用。
实际小提醒
- 0 是偶数:0 % 2 == 0 ✅
- 负数没问题:-7 % 2 在 Python 中是 1,在 Java 中是 -1,但
!= 0都成立 - 确保操作数是整数:浮点数如 3.0 % 2 可能报错或触发隐式转换,需先取整

















