java&运算符有两个整数?

时间:2013-12-17 23:19:58

标签: java bitwise-operators bitwise-and

据我所知,&运算符类似于&&运营商除了&&&只检查第二个是否第一个是真的,而&无论第一个结果如何,都检查两者。基本上&&只需节省一点时间和力量。

如果是这样,那么这段代码是如何工作的?

int l = 0;
if ((l & 8) != 0 && (l & 4) == 0){ do something}

(l & 8)(l & 4)做了什么? 什么&在这种情况下呢?

1 个答案:

答案 0 :(得分:12)

&安培;和&&是两个不同的运营商,但差异不是你所描述的。

&安培;如果两个源整数中的两个对应位都设置为1,则两个整数按位并且产生第三个整数,其位设置为1;否则为0。

&安培;&安培;仅适用于两个布尔值并返回第三个布尔值,如果两个输入布尔都为真,则该布尔值为真;否则就是假的。