下面方法的目的是确定其唯一的参数是否为奇数。这个方法可行吗?
public static boolean isOdd(int i) {
return i % 2 == 1;
}
答案:不可行!
如果参数小于0,则此方法返回的结果都是错误的。
改正代码如下:
public static boolean isOdd(int i) {
return i % 2 != 0;
}
如果是在一个强调性能的环境中,那么用位操作符&替代取余操作符会显得更好
public static boolean isOdd(int i) {
return (i & 1) != 0;
}