逻辑运算符概述

逻辑运算符:

& 逻辑与(可以翻译成并且)

| 逻辑或(可以翻译成或者)

! 逻辑非(取反)

&& 短路与

|| 短路或

非常重要:

逻辑运算符两边要求都是布尔类型,并且最终的运算结果也是布尔类型。

这是逻辑运算符的特点。

短路与&& 和逻辑与&有什么区别?

​ 首先这两个运算符的运算结果没有任何区别,完全相同。

​ 只不过“短路与&&”会发生短路现象。

什么是短路现象呢?

​ 右边表达式不执行,这种现象叫做短路现象

什么时候使用&&,什么时候使用&?

​ 从效率方面来说,&&比&的效率高一些

​ 因为逻辑与&不管第一个表达式结果是什么,第二个表达式一定会执行。

以后的开发中,短路与&&和逻辑与还是需要同时并存的。

大部分情况下都建议使用短路与&&

只有当既需要左边表达式执行,又需要右边表达式执行的时候,才会选择逻辑与&。

//接下来理解一下什么是短路现象,什么时候会发生“短路”
int x = 10;
int y = 11;
System.out.println(x > y & x > y++);//左边的x>y表达式结果已经是false了,其实整个表达式的结果已经确定是false了,按道理来说右边的表达式不应该执行。
System.out.println(y);//12
//通过这个测试:x>y++这个表达式执行了。

int m = 10;
int n = 11;

//使用短路与&&的时候,当左边的表达式为false的时候,右边的表达式不执行
System.out.println(m > n && m > n++);

System.out.println(n);//11


问题:什么时候发生短路或现象?

|| 短路或

“或”的时候只要有一边true,结果就是true

所以,当左边表达式结果是true的时候,右边的表达式不需要执行,此时会短路。

当第一个为真的时候短路

  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值