读书人

if (numberamp;1 == 0) number为int型

发布时间: 2012-01-21 21:31:43 作者: rapoo

if (number&1 == 0) number为int型,这句编译有错,怎么改?在线等
rt

[解决办法]

探讨
(number & 1) == 0

[解决办法]
int number = 0 ;
if((number&1)==0){

}


楼上说的很对 。+++++++1
[解决办法]
== 的优先级比前面&高,所以如果不加括号会先计算后面的==,
这样就相当于让number与一个boolean类型的量做按位与操作了,所以会报错
[解决办法]
这么好的判断奇偶的算法,落在楼主的手里。
让我感觉貌似1级小号拿着神器,却不知道咋用。
[解决办法]
优先级问题。。。
[解决办法]
优先级问题,加上括号就ok
如:
int number=5 ;
if((number&1)==0){

}

[解决办法]
(number & 1) == 0
[解决办法]
探讨

这么好的判断奇偶的算法,落在楼主的手里。
让我感觉貌似1级小号拿着神器,却不知道咋用。

[解决办法]
随手加括号是个好习惯
[解决办法]
探讨

(number & 1) == 0

[解决办法]
(number & 1) == 0
[解决办法]
学习了
[解决办法]
括号是必须滴啊
[解决办法]
学习学习
[解决办法]
学习了,但是我对这个&运算符不太懂唉

[解决办法]
& 是位运算中的 与运算(二目运算符),就是在将两个数转换成二进制数,相应位进行与运算,得出的数就是结果。

本例中 (number & 1),因为常量1只有一位是1,其他位全是0,所以最后的结果只能为0或1(根据number变量最后一位的值决定)

读书人网 >J2SE开发

热点推荐