初级:
奇数,指不能被 2 整除的数。根据求余之后的值是否为 1 来判断。
/**
* 奇数,指不能被2整除的数。根据求余之后的值是否为 1 来判断。
* @param i
* @return
*/
private static boolean isOdd(int i) {
//取余后为1,表示是奇数。但是判断负数不准确
return i%2 == 1;
}
中级:
private static boolean isOdd(int i) {
//取余后不为0,表示是奇数。
return i % 2 !=0;//如果一个数是偶数,就算是负数整除2余数也为0
}
高级:
private static boolean isOdd(int i) {
//(i & 1) 后不为0,表示是奇数。
return (i & 1)!=0;//1的十六进制为0x00000001,本质是取二进制的最后一位的值
}