奇数定义:被2整除余数为1的整数。
表达式:i%2 , 是i除以2时产生的余数。
错误判断奇数:i % 2 == 1
但四分之一可行:因为int数值中,有一半是负数;所以失败
Java对取余操作%的定义,所有的int数值a和所有非零int数值b;满足
(a/b)*b+(a%b)==a
意味着:当取余操作返回一个非零的结果时,它与左操作数具有相同的正负符号。
当i是一个负奇数时,i%2等于-1;
所以正确判断是否为奇数:
i % 2 != 0
提高性能做法:
(i & 1) != 0