java和运算符有两个整数?

nif*_*552 4 java bitwise-operators bitwise-and

根据我的理解,&运算符类似于&&运算符,除了&&仅检查第二个是否第一个为真,而&检查两者而不管第一个的结果.基本上&&只需节省一点时间和力量.

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

int l = 0;
if ((l & 8) != 0 && (l & 4) == 0){ do something}
Run Code Online (Sandbox Code Playgroud)

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

Raf*_*ssi 13

&和&&是两个不同的运算符,但区别不是你所描述的.

&执行两个整数的逐位AND并产生第三个整数,如果两个源整数中的两个对应位都设置为1,则其位设置为1; 否则为0.

&&仅适用于两个布尔值并返回第三个布尔值,如果输入布尔值均为真,则该值为true; 否则是假的.