运算符之:4、逻辑运算符(6个)

来源:互联网 发布:ubuntu输入法设置中文 编辑:程序博客网 时间:2024/06/15 03:17

4、逻辑运算符:

&(和and)(与/并且)

|(或 or)

^(异或)

!(非 not-取反)

&& (短路与)(并且)

||(短路或)-----(或者)

逻辑表达式的值 true 或者是 false

逻辑表达式:由逻辑运算符构成的式子

在 && ||较长用;

----------------------------------------------------------

|和|| 、&和&&的区别:(总结:输出的值不同)

  • + -

    & (长路或):无论左边是true 还是 false; 右边都运算

    • //&(长路与):无论第一个表达式的值是true或者false都会执行右边

      int i =2;

      System.out.println(i==1 & i++ ==2);// 1 & 2

      // false & true = false

      System.out.println(i);//执行右边;i++ = (2+1)3

      System.out.println(i++ ==2);// 2 & 2 这里是做判断不运算

      // true & true = true

      System.out.println(i);//这里是运算后的结果,执行右边;(i++ ==2)i=i+2——i=2+2——i=4

    + -

    && 当左边为false时,右边不运算 

    • //&&(短路与):只要第一个表达式的值为false,第二个表达式的值不在进行运行算

      int j =2;

      System.out.println(j==1 && j++ ==2);

      //flase && true =false

      System.out.println(j);//2  左边为false,右边表达式值不需在运算

      System.out.println(j==2 && j++ ==2);//j++只做替换成数字,不运算

      // true && true  =tuse  

      System.out.println(j);//3  左边为真,右边也要执行

    + -

    | (长路或):两边都参与运算

    • //| (长路或):两边都参与运算

      int a =1;

      System.out.println(a==1 | a++ ==2);

      // true  false | =true; 

      System.out.println(a);//2  左边为真,右边都要执行,结果输出右边的

      int z =1;

      System.out.println(z==2 | z++ ==1);

      // false  true | =true;

      System.out.println(z);//2 左边为假,右边都要执行,结果输出右边的

    + -

    || (短路或):当左边为true 右边不运算

    • //|| (短路或):当左边为true 右边不运算

      int b =1;

      System.out.println(b==1 || b++ ==2);

      // true || false = true

      System.out.println(b);//1 左边为真,右边不需执行,结果输出左边的

      int m =1;

      System.out.println(m==2 || m++ ==1);

      // false || true = true

      System.out.println(m); //2 左边为假,右边依旧需执行

    注意:

    • & && | || 最少也是由两个表达式组成的

      而 !非 一个表达式即可

      例如

      System.out.println(!('a'=='a'));//非真就是假 非假就是真     

----------------------------------------------------------------------------------------------------

(总结)Boolean结果:

  • & (和): 两边为true,结果才为true(一边为false,结果都为false);

    • * &(和):两边的Boolean表达式结果,有一个为false,结果为false;

      * 两边的都为true,结果为true 延伸 出四种结果:

      * true & true = true

      * false & false = false

      * false & true = false

      * true & false = false

      遵循“真真为真,一假必假”原则

    | (或) :有一边为true,结果就为true(两边为false,结果为false);

    •  * |(或):有一边为true,结果为true;

      * 两边为false,结果为false 延伸 出四种结果:

      * false | false =false

      * false | true =true

      * true | true =true

      * true | false =true

      遵循“假假必假,一真必真”原则

    !(非):结果相反

    • // !(非):结果相反

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

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

     ^(异或):两边相同为false,不同为true;(和|或的区别是结果相反:两边为tuse,结果为false)

    • /* ^(异或):两边相同为false,不同为true;(和|或的区别是结果相反:两边为tuse,结果为false)

      * 延伸 出四种结果:

      *  true ^ true = false

      *  true ^ false = true

      *  false ^ false = false

      *  false ^ true =true     



原创粉丝点击