java-逻辑运算符详解

 逻辑运算符

java中的逻辑运算符主要包含如下 6 个:

&(逻辑与):

两边都是ture,结果才为true

System.out.println(true & true);   //结果:true
System.out.println(true & false);  //结果:false
System.out.println(false & true);  //结果:false
System.out.println(false & false); //结果:false

|(逻辑或):

两边都是false,结果才为false

System.out.println(true | true);   //结果:true
System.out.println(true | false);  //结果:true
System.out.println(false | true);  //结果:true
System.out.println(false | false); //结果:false

^(逻辑异或):

相同为false,不同为true

System.out.println(true ^ true);   //结果:false
System.out.println(true ^ false);  //结果:true
System.out.println(false ^ true);  //结果:true
System.out.println(false ^ false); //结果:false

!(取反):取反

System.out.println(!true);   //结果:false
System.out.println(!false);  //结果:true

&&(短路与):

两边都为true结果就为true

int a = 10;
int b = 10;
System.out.println(a<5 && b>6);  //结果:false
System.out.println(a>5 && b>6);  //结果:true

||(短路或):

两边都为false结果就为false

int a = 10;
int b = 10;
System.out.println(a<5 || b>6); //结果:true
System.out.println(a>5 || b>6); //结果:true
System.out.println(a<9 || b<9); //结果:false

短路逻辑运算符的使用场景:

例如:

这段代码中只有当Teacher对象不为空并且对象中的age属性要大于25的时候才能进入方法,如果Teacher对象为空,那么将会决定整个判断条件的最终结果,此时用短路与能提高执行效率

面试题:&&与&  ||与|有什么区别?

1. &| 无论表达式左边是true还是false,右边都需要执行

2. && || 具有短路效果,如果表达式的左边能确定整个表达式的结果,那么表达式的右边不会执行,提高了执行效率

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值