&和&&,|和||以及~,!的区别

博客主要介绍了位操作符和逻辑操作符。分成三组分析,包括&(按位与)和&&(逻辑与)、|(按位或)和||(逻辑或)、~(按位取反)和!(逻辑非),并分别阐述了各运算符的运算规则及示例。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

&、|、~都是位操作符,而&&、|、~|都是逻辑操作!。

下面我们就分成三组对问题进行分析:分别是&和&&,|和||及~和!。

1.&是按位与操作,参加运算的两个数据按照二进制位进行“与”运算,如果两个相应的二进制位都为1,那该位的结果值就是1,否则为0,即0&0=0,0&1=0,1&1=1,1&0=0。

比如:3&5并不等于8,应该按位与,00000011&00000001=00000001。

&&是逻辑与运算符,我们这就不多说,直接看例子:a&&b,若a、b为真,则a&&b,否则就为假。

2.|是按位或操作,参加运算的两个数据按照二进制位进行“或”运算,如果两个相应的二进制位中只要有一个为1,则该位结果就是1,即为0|1=1、1|1=1、1|0=1、0|0=0。

||是逻辑或运算符,直接看意思,a||b,若a、b中有一个为真,则a||b结果为真。

3.~是一个单目运算符,用来对一个二进制位按位取反,即0变成1,1变成0,比如~00001111=11110000。

!是逻辑非运算符,我们还是直接来看他的意思,!a的意思是:若a为真,则!为假,若a为假则!a为真。

&&&以及|||的区别在于它们的运算规则行为。 &&&都是逻辑与运算符,表示逻辑与(and)。当运算符两边的表达式的结果都为true时,整个运算结果才为true,否则,只要有一方为false,则结果为false。区别在于,&&具有短路的功能,即如果第一个表达式为false,则不再计算第二个表达式。例如,对于if(str != null && !str.equals(""))表达式,当str为null时,后面的表达式不会执行,所以不会出现NullPointerException。而如果将&&改为&,则会抛出NullPointerException异常。另外,&还可以用作位运算符,表示按位与操作。 |||都是逻辑或运算符,表示逻辑或(or)。当运算符两边的表达式的结果都为false时,整个运算结果为false,否则,只要有一方为true,则结果为true。||也具有短路的功能,即如果第一个表达式为true,则不再计算第二个表达式。|还可以用作位运算符,表示按位或操作。 综上所述,&&||具有短路功能,而&|没有短路功能。另外,&还可以用作位运算符,表示按位与操作,而|可以用作位运算符,表示按位或操作。 #### 引用[.reference_title] - *1* [逻辑运算符&&、&、|||的区别](https://blog.csdn.net/weixin_44521690/article/details/99339556)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control_2,239^v3^insert_chatgpt"}} ] [.reference_item] - *2* [运算符&&&以及|||区别比较](https://blog.csdn.net/weixin_46879188/article/details/119680881)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control_2,239^v3^insert_chatgpt"}} ] [.reference_item] - *3* [&& & 以及 |||区别](https://blog.csdn.net/Czhenya/article/details/76091333)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control_2,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值