//||短路或 和 |逻辑或 案例演示//|| 规则: 两个条件中只要有一个成立,结果为true,否则为false//| 规则: 两个条件中只要有一个成立,结果为true,否则为falseint age =50;if(age >20|| age <30){
System.out.println("ok100");}//逻辑或| 的使用if(age >20| age <30){
System.out.println("ok200");}
逻辑或 | 和 短路或 || 区别:
//看看两者的区别//(1) ||短路或:如果第一个条件为true,则第二个条件不会判断,最终结果为true,效率高int a =4;int b =9;if( a >1||++b >4){
System.out.println("ok300");}
System.out.println("a="+ a +" b="+ b);//4 9
//(2) |逻辑或:不管第一个条件是否为true,第二个条件都要判断,效率低int a =4;int b =9;if( a >1||++b >4){
System.out.println("ok300");}
System.out.println("a="+ a +" b="+ b);//4 10
7. || 和 | 使用区别
||短路或:如果第一个条件为 true,则第二个条件不会判断,最终结果为 true,效率高
| 逻辑或:不管第一个条件是否为 true,第二个条件都要判断,效率低
开发中,我们基本使用 ||
8. ! 取反 基本规则
名称
语法
特点
! 非(取反)
! 条件
如果条件本身成立,结果为false,否则为true
9. ! 案例演示
案例演示 ! 和^案例演示运算符的使用(InverseOperator.java)
//! 操作是取反 T->F , F -> T
System.out.println(60>20);//T
System.out.println(!(60>20));//F//a^b: 叫逻辑异或,当 a 和 b 不同时,则结果为true, 否则为falseboolean b =(10>1)^(3>5);
System.out.println("b="+ b);//T
10. ^ 异或 案例演示
a^b: ^叫逻辑异或,当 a 和 b 不同时,则结果为 true, 否则为 false
System.out.println((4<1)^(6>3));// True
11. 练习 1
分析:if条件中,x先比较后自增,所以x++==6为false,此时 x 自增后为 6。++y 是先自增再比较,此时 y = 6 ,比较的结果为 true。最后if条件的结果为 false
int x =5;int y =5;if(x++==6&++y==6){
x =11;}
System.out.println("x="+x+",y"+y);