其实这来自与《Java Puzzlers》,写出来是为了记住它。
i%2==1是平时判断奇数的常用方法,这个方法有个弊端就是当i为负数的时候,判断结果是错误的,因为在java中,%运算的结果和左操作数具有相同的符号。
改进的方法有两种
1、i%2!=0,这样即使是负的奇数也可以正确的判断,但多少给人歪打正着的感觉。
2、i&1!=0,奇数的最后一位总是1,这样和1的二进制格式向AND,结果一定是1,而正负位都被1二进制格式中的0 给AND掉了。在书中这是个推荐的方法。
本文介绍了在Java中判断奇数的几种方法,并讨论了这些方法在处理正数和负数时的表现。通过对比i%2==1,i%2!=0及i&1!=0三种方式,文章推荐使用按位与操作符进行更准确且直观的奇数判断。
其实这来自与《Java Puzzlers》,写出来是为了记住它。
i%2==1是平时判断奇数的常用方法,这个方法有个弊端就是当i为负数的时候,判断结果是错误的,因为在java中,%运算的结果和左操作数具有相同的符号。
改进的方法有两种
1、i%2!=0,这样即使是负的奇数也可以正确的判断,但多少给人歪打正着的感觉。
2、i&1!=0,奇数的最后一位总是1,这样和1的二进制格式向AND,结果一定是1,而正负位都被1二进制格式中的0 给AND掉了。在书中这是个推荐的方法。
714

被折叠的 条评论
为什么被折叠?