作用:
用来连接多个布尔表达式,结果也是布尔类型
表示一种条件 条件 true false
分类:
1. 逻辑与&,有false则false
表达并且的关系 两边条件是并且的关系,只有同时成立,结果才是true有一个条件为false结果为false
2. 逻辑或 / ,有true则true
表达或者的关系 两边是或的关系 有一个条件满足结果就是true,多个条件都不满足结果false
3.逻辑异或 ^, 相同为false不同为true 同性相斥 异性相吸
4.逻辑非 ! (取反)
非true则false
非false则true
System.out.println(!true);//false
System.out.println(!false);//true
逻辑运算符的短路效果:
基本使用:逻辑与&无论左边真假,右边都要执行 逻辑或 | 无论左边真假 右边都要执行
(1) 短路逻辑与(&&):左侧为false,右侧不进行计算
(2)短路逻辑或( || ): 左侧为true,右边不进行计算
2.使用区别:
(1)&&和&:最终的结果是相同的,但是&&具有短路效果,效率高
(2)|| 和 |:最终的结果是相同的,但是|| 具有短路效果,效率高
注意:强烈建议使用&&或 ||
三元运算符:
格式: 数据类型 变量名称 = 布尔表达式1? 表达式2 ;表达式3;
注意:?前面的式子的结果必须是布尔类型
执行流程:
(1)计算布尔表达式1的结果,看是true还是false
(2)如果布尔表达式1的结果是true,取表达式2的结果赋值给左侧变量
(3)如果布尔表达式1的结果是false,取表达式3的结果赋值给左侧变量