java中判断奇偶数最高效的方式是用位运算符&,因为n & 1直接提取二进制最低位(0为偶、1为奇),仅需一次cpu指令,而n % 2涉及开销更大的除法运算且负数处理复杂。

Java 中判断奇偶数最高效的方式是用位运算符 &,而不是取模运算符 %。
为什么位运算比取模更快?
对整数来说,判断奇偶本质是看二进制最低位:0 表示偶数,1 表示奇数。位运算 n & 1 直接提取最低位,只需一次 CPU 指令;而 n % 2 涉及除法运算,开销更大(尤其对负数,还涉及符号处理)。
推荐写法:用 n & 1 == 1 判断奇数
这是最常用且安全的位运算判断方式:
-
n & 1的结果只能是 0(偶数)或 1(奇数),不受符号影响 —— 负数也适用(如-3 & 1 == 1) - 避免写成
n & 1 == 0判断偶数,逻辑虽正确,但可读性略低;建议显式用== 1表达“是奇数”的意图 - 注意运算符优先级:
n & 1 == 1等价于n & (1 == 1)?不,因为 == 优先级高于 &,所以实际是(n & 1) == 1,无需额外括号
不推荐但常见的误区
以下写法看似简洁,实则有问题:
-
n % 2 == 1:对正数有效,但-3 % 2 == -1,导致判断失败 -
n % 2 != 0:能覆盖负数,但仍依赖除法,性能不如位运算 -
(n & 1) != 0:等价于n & 1 == 1,语义稍弱,可读性略差
实际使用建议
在循环、高频计算或底层工具类中,优先选择 (n & 1) == 1;日常业务代码若可读性更重要,n % 2 != 0 也可接受,但别在性能敏感路径用。
Java免费学习笔记:立即使用
解锁 Java 大师之旅:从入门到精通的终极指南











