&&、|| 和 &、| 的区别(详尽版)

&&和|| 是逻辑运算符(也包括 !)

逻辑运算符 含义
&& 逻辑与(两者为真才为真,一者为假即为假)
︱︱ 逻辑或(两者为假才为假,一者为真即为真)
! 逻辑非(本来值的反值)

逻辑运算符的含义与数学中所学的逻辑含义是一样的。

& 和 | 是位运算符(也包括^和~)

位运算符 规则
&(按位与) 全1则1,否则为0
︱(按位或) 全0则0,否则为1
^(按位异或) 相同为0,不同为1
~(按位非) 遇0则1,遇1则0

上面是位运算符的运算规则,其中运算步骤如下:
举个例子:
这是3 | 2 的计算方法
需要注意的是
◆位运算符&和| 不仅能够对boolean进行计算,还可以对数值进行计算,而逻辑运算符只能对boolean进行计算;
◆位运算符不会“短路”,而逻辑运算符会“短路”,举个例子

int x = 10;
int y = 10;
if((x=0)==0 || (y=0)==0){
	System.out.println(y);
}

输出的结果为10;
而以下代码:

int a = 10;
int b = 10;
if((a=0)==0 | (b=0)==0){
	System.out.println(b);
}

运行的结果为0

发布了34 篇原创文章 · 获赞 8 · 访问量 722

猜你喜欢

转载自blog.csdn.net/weixin_45720626/article/details/104447476