&和&&的区别

原文链接:
逻辑运算和位运算_Dug_Zhang的博客-CSDN博客

&和&&的区别_绿林寻猫-CSDN博客
基础拾遗:除了&和&&的区别,你还要知道位运算的这5个运算符_dotNet全栈开发-CSDN博客

相同点:&和&&都可以用作逻辑与的运算符,表示逻辑与(and)。

不同点:

(1)&&具有短路的功能,而&不具备短路功能。

(2)当&运算符两边的表达式的结果都为true时,整个运算结果才为true。而&&运算符第一个表达式为false时,则结果为false,不再计算第二个表达式。

(3)&还可以用作位运算符[主业],当&操作符两边的表达式不是boolean类型时,&表示按位与操作.

  • &是位运算,返回结果是int类型

  • &&是逻辑运算,返回结果是bool类型

位运算符&的规则:

1&1=1
0&1=0
0&0=0

15&20=4

0000 0000 0000 1111
0000 0000 0001 0100
15&20 结果:
 0000 0000 0000 0100


 

上一篇:很多博文都是错的,ConcurrentHashMap的容量为什么是2的n次幂


下一篇:项目添加进度条