&,|和&&,||的区别关系及用法实例

1 "&&" 逻辑与,"||" 逻辑或

例: result = func1&&func2;/*func1和func2两个都为真,result才为真,否则为假*/

        result = func1||func2;/*func1和func2只要有一个为真,result就为真;func1和func2两个都为假,result才为假*/

2 "&" 位逻辑与,"|" 位逻辑或

例:0&0 = 0;

       0&1 = 0;

       1&0 = 0;

       1&1 = 1;(有0则为0)    

       0|0 = 0;

       0|1 = 1;

       1|0 = 1;

       1|1 = 1;(有1则为1)

区别:              

&是将两个二进制的数逐位相与,结果是相与之后的结果;&&就是判断两个表达式的真假性,只有两个表达式同时为真才为真,有一个为假则为假,具有短路性质。

|和||同理。

例: a=1 b=2  

        a>0 为true    b>1 为true     b>2 为false

 if(a>0 & b>1)  我们可以得出 if(true & true),条件成立(true不为0,所以true & true不为0)

 if(a>0 && b>1)  我们可以得出 if(true && true),条件成立(&&两边操作数都非零,所以条件成立)

 if(b>2 & a>0) 我们可以得出 if(false & true),条件不成立(false为0,false & true为0,条件不成立)

 if(b>2 && a>0) 我们可以得出 if(false && a>0),条件不成立(&&左侧为false,&&运算到此结束,条件不成立)

可以看出 & 和 && 在判断语句中都可以实现“和”这个功能,不过区别在于 & 两边都运算,而 && 先算 && 左侧,若左侧为false那么右侧就不运算了。因此从效率上来说,判断语句中推荐使用 &&。

参考:| 和 ||,& 和 && 的区别

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
在判断语句中,`|`和`||`都可以实现“或”的功能,区别在于`|`两边都会运算,而`||`只有在左侧为false时才会运算右侧。因此,从效率上来说,推荐使用`||`。 对于`|`和`||`的运算方法总结如下: - 只要`|`前面为false,不管`|`后面是true还是false,都返回`|`后面的值。 - 只要`|`前面为true,不管`|`后面是true还是false,都返回`|`前面的值。 而对于`&`和`&&`,它们都可以实现“和”的功能。区别在于`&`两边都会运算,而`&&`只有在左侧为true时才会运算右侧。 对于`&`和`&&`的运算方法总结如下: - 只有当两个条件均为真时,`&`和`&&`的结果才为真。效果等同于and。 - 只要有一个条件为真时,`&`和`&&`的结果就为真。效果等同于or。 总之,`|`和`||`都可以实现“或”的功能,`&`和`&&`都可以实现“和”的功能,但它们在判断条件和运算顺序上有所不同。请根据具体需求选择合适的运算符。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* [&,|和&&,||的区别关系用法实例](https://blog.csdn.net/weixin_42228895/article/details/123056470)[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^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] - *2* *3* [&&、||、&、|的功能及区别整理](https://blog.csdn.net/u014029795/article/details/103196459)[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^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值