使用模运算符测试整数的奇数
以下代码片段未正确测试奇数:
public static boolean isOdd(int i) {
return i % 2 == 1;
}
我在网上读到我应该以以下方式做到这一点:
public static boolean isOdd(int i) {
return i % 2 != 0;
}
这是为什么呢?
以下代码片段未正确测试奇数:
public static boolean isOdd(int i) {
return i % 2 == 1;
}
我在网上读到我应该以以下方式做到这一点:
public static boolean isOdd(int i) {
return i % 2 != 0;
}
这是为什么呢?
可能是因为正数和负数都有效(i % 2) != 0
因为当是负数 -->i
(-1) % 2 == -1