&(与)、&&(短路与)、|(或) 、||(短路或)、!(非)、^(异或)
规则:
& 和 && 规则:两个有一侧为false,结果为false
| 和 || 规则 :两侧有一侧为true,结果为true
^ 规则:两侧相同为false,不同为true
!规则:置反,false变成true , true变成false
比较:& vs &&做实验证明谁的效率高
&与:判断前者为false后,还会判断后者
&&短路与:判断前者为flase后,不会判断后者,效率更高System.out.println(false & 10/0>5); //“10/0>5”分母为0,这行代码会报错:ArithmeticException - 算数异常 System.out.println(false && 10/0>5); //因为前面已经是false,后面的“10/0>5”就不会运行,就不会报错
比较:| vs ||做实验证明谁的效率高
|或:判断前者为true后,还会判断后者
||短路或:判断前者为true后,不会判断后者,效率更高System.out.println(true || 10/0>5); //前面为true,后面的“10/0>5”不运行
注意:
1. 逻辑运算符运行结果都是boolean类型
2. &、&&、|、||、^ 两侧都是boolean类型数据