026- 布尔运算符

布尔运算符有哪些
& 逻辑与 两边都是true,结果是true
| 逻辑或 一边是true,结果就是true
! 逻辑非 取反 !true –> false
^ 逻辑异或 两边只要是不一致就是true
&& 短路与 用法和 & 一样。
|| 短路或 用法和 | 一样

&&和&的区别?
* &&具有短路效果。如果左边结果是false,则右边不执行。
* &是无论左边是false还是true,右边都会执行。

|(逻辑或)和||(短路或)的区别类似

开发中常用&&和||,如果当需求要求无论左边的表达式是true还是false,右边的表达式必须执行,此时必须使用逻辑与,短路与做不到。

例:

    System.out.println(5>3 & 5>4); //true System.out.println(5>3 & 5>6); //false 逻辑与只要有一个是false,结果就是false System.out.println(5>3 | 5>10); //true System.out.println(5>11 | 5>10); //false System.out.println(!false); //true System.out.println(true^false); //true System.out.println(false^true); // true System.out.println(true^true); //false System.out.println(false^false); //false //关于短路与 /* int a = 10; int b = 10; System.out.println(a < b & a++ >= b); System.out.println(a); //11 */ int a = 10; int b = 10; //短路:后边那个表达式不执行. //什么时候发生短路与?第一个算子结果是false的时候。 //什么时候发生短路或?第一个算子结果是true的时候。 System.out.println(a < b && a++ >= b); System.out.println(a); //10 

注意事项:
* 布尔运算符两边的算子必须是布尔类型,整个表达式的运算结果也是一个布尔类型。

猜你喜欢

转载自www.cnblogs.com/Chamberlain/p/11394785.html