其实这来自与《Java Puzzlers》,写出来是为了记住它。
i%2==1是平时判断奇数的常用方法,这个方法有个弊端就是当i为负数的时候,判断结果是错误的,因为在java中,%运算的结果和左操作数具有相同的符号。
改进的方法有两种
1、i%2!=0,这样即使是负的奇数也可以正确的判断,但多少给人歪打正着的感觉。
2、i&1!=0,奇数的最后一位总是1,这样和1的二进制格式向AND,结果一定是1,而正负位都被1二进制格式中的0 给AND掉了。在书中这是个推荐的方法。
http://blog.csdn.net/fenglian521/article/details/1520463