考虑下面这个判断是否是奇数的方法:
public static boolean isOdd(int i){
return i%2==1;
}
乍一看没问题,其实这样做是不对的。因为在Java语言中,如果i是负奇数的话,那么其结果应当是-1,所以上例并没有考虑到所有的情况,正确的做法如下:
public static boolean isOdd(int i){
return i%2!=0;
}
如果考虑性能因素的话,那么应当用位来做运算,它要比%运算速度快。如下:
return (i & 1) != 0;