先看下面的程序:
public class p1 {
public static void main(String[] args) {
// TODO Auto-generated method stub
System.out.println(isOdd(1));
System.out.println(isOdd(-1));
}
public static boolean isOdd (int i){
return i%2==1;
}
}
原来在java中余数与被除数的符号保持一致,所以上面的程序段不能完全正确的运行。
改成这样就可以避免上述问题:
public static boolean isOdd (int i){
return i%2!=0;
}
如果为了追求性能,可以采用位运算:
public static boolean isOdd (int i){
return (i&1)!=0;
}