[color=red][size=medium]谜题1,奇数性[/size][/color]
我们要判断一个整数是否是奇数,通常会这样写:
但是这个方法其实是有问题的,因为对于负奇数来说此式不成立,
例如-5%2=-1。调用idOdd(-5)返回false
所以应该改成
在注重效率的环境下可以考虑使用位运算。
我们要判断一个整数是否是奇数,通常会这样写:
public boolean isOdd(int i) {
return i % 2 == 1;
}
但是这个方法其实是有问题的,因为对于负奇数来说此式不成立,
例如-5%2=-1。调用idOdd(-5)返回false
所以应该改成
public boolean isOdd(int i) {
return i % 2 != 0;
}
在注重效率的环境下可以考虑使用位运算。
public boolean isOdd(int i) {
return (i&1) != 0;
}