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; 否则是假的.