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

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

posted @ 2019-08-22 15:50  WiltChamberlain  阅读(205)  评论(0编辑  收藏  举报