JAVA逻辑运算符与短路使用

逻辑运算符:

与(并且)    	&   全是true才是true。
或(或者)		|   至少一个true就是true。
异或			^  相同就是false;不同才是true。
非(取反)		!   本来是true变成false;本来是false变成true
1.逻辑运算符通常连接多个布尔值。
2.如果是两个布尔值进行连接:布尔值A & 布尔值B
3.如果是多个布尔值进行连接:布尔值A & 布尔值B &布尔值C
4.如果是取反运算符,只能用于一个布尔值身上:!布尔值
System.out.println(true & true); //true
System.out.println(true & false); //false
System.out.println(false & false);  //false

boolean a = true;
boolean b = false;
System.out.println(a & b); //false
System.out.println(4 > 3 & 10 < 20); //true

System.out.println(5 > 4 | 10 < 20); //true
System.out.println(5 < 4 | 10 > 20); //false

System.out.println(true ^ true); //false
System.out.println(true ^ false); //true

System.out.println(!true); //false

短路使用:

逻辑运算符中的与(&)、或(|)这两个运算符可以双写:
1.短路与:&&
2.短路或:||
短路:左侧已经可以判断到最终结果,那么右侧将不再执行。
1.凡是用到了与、或,都推荐双写。
2.只有与、或能双写。异或、非不能。
System.out.println(3 < 2 & 10 < 20);   //false,一个符号,左右都会执行
System.out.println(3 < 2 && 10 < 20);  //false,双写,左边可以判断,右侧不会执行

int num1 = 100;
System.out.println( 10<3 && ++num1 < 200);   //false
System.out.println(num1);    //100,短路效果

int num2 = 20;
System.out.println(10 > 3 || ++num2 > 3);   //true
System.out.println(num2);   //20

int num3 = 300;
System.out.println(3 > 10 || ++num3 < 1000);  //true
System.out.println(num3);   //301
发布了41 篇原创文章 · 获赞 5 · 访问量 1万+

猜你喜欢

转载自blog.csdn.net/qq_43472877/article/details/104033928