判断奇数 看下这几行代码,看看它们是否能用来准确地判断一个数是奇数? public boolean oddOrNot(int num) { return num % 2 == 1;}看似是对的,但是每执行四便会有一个错误的结果(用数据说话)。考虑到负奇数的情况,它除以2的结果就不会是1。因此,返回值是false,而这样是不对的。 代码可以修改成这样: public boolean oddOrNot(int num) { return (num & 1) != 0;}
这么写不光是负奇数的问题解决了,并且还是经过充分优化过的。因为算术运算和逻辑运行要比乘除运算更高效,计算的结果也会更快。 |