逻辑运算符

 

逻辑运算符分为

                      逻辑与  --  ( & )

 

1 class Operator10 {
2     public static void main(String[ ] args){
3     //逻辑与 & (两个相等的条件为true,一个或两个不符合条件都为false)
4     System.out.println(9 > 1 & 0 !=1);    //true
5     System.out.println(3 <= 1 & 100 > 10);    //false
6     //优先级别:算术运算符 > 关系运算符 > 逻辑运算符
7     System.out.println(9 / 6 - 4 % 2 > 0 & 18 % 9 == 0);    //true
8     System.out.println(0 > 1  & 3 <= 2);    //false

 

 

 

        逻辑或  -- )

 

1 class Operator10 {
2     public static void main(String[ ] args){
3     //逻辑或 | (一个或两个符合条件时为true,两个都不符合条件时为false)
4     System.out.println(30 > 17 | 19 < -20);    //true
5     System.out.println(12 % 3 != 1 | 81 / 9 == 0);    //true
6     System.out.println(-1 > 3 | 8 > 77);    //false
7     }
8 }

 

 

 

        逻辑异或  -- ( )

      true ^ true -------- > false

      true ^ false-------- > true

      false ^ false ------ > false

      false ^ true ------- > true

 

1 class Operator10 {
2     public static void main(String[ ] args){
3     //逻辑异或 ^ (当两个条件的值不同时,则结果为true,否则为false)
4     System.out.println(8 != 9 ^ 12 > 10);        //false
5     System.out.println(0 < 1 ^ 1 > 10);        //true
6     System.out.println(2 / 3 + 4 % 15 <= 10 % 7 ^ 12 /5 <= 8 % 4);    //false
7 
8     }
9 }

 

 

        逻辑非  -- )

 

1  class Operator10 {
2      public static void main(String[ ] args){
3      //逻辑 ! (对布尔类型的值进行取反)
4      System.out.println(!false);     //true
5      System.out.println(!!false);    //false
6      //System.out.println(!1 > 9);     //出现编译错误
7      System.out.println(!(1 > 9));   //true
8  }    
9 }

 

 

 

        短路与 -- && )

 

总结:短路与(&&)、逻辑与(&)。 运行结果都相同,但是执行过程可能不同.
当使用短路与,并且第一个结果为false时,则结果就为false。如果第一个结果为true,则继续判断后面的条件,真就是true 假就是false
建议使用短路与(效率比逻辑与高)

 

 

 1 class Operator10{
 2     //总结:短路与、逻辑与。  运行结果都相同,但是执行过程可能不同.
 3     //当使用短路与,并且第一个结果为false时,则结果就为false。如果第一个结果为true,则继续判断后面的条件,是真就是true 是假就是false
 4     //建议使用短路与(效率比逻辑与快)
 5     System.out.println(10 > 5 && 8 != 1);         //true
 6     System.out.println(10 > 5 & 8 != 1);         //true
 7         
 8     System.out.println(3 > 19 && 0 < 1);         //false
 9     System.out.println(3 > 19 & 0 < 1);         //false
10 
11     System.out.println(5 < 6 && 1 >= 2);         //false
12     System.out.println(5 < 6 & 1 >= 2);         //false
13 
14     }
15 }

 

 

 

        短路或 -- || )

 

 总结:短路或( || )、逻辑或( | )。运行结果都相同,但是执行过程可能不同.
      当使用短路或,并且第一个结果为true时,则结果直接为true,运行结束。
    若第一个条件为false,则继续判断第二个条件,如果是false,则结果就为false。如果是true,则结果就为true。 建议使用短路或
(效率比逻辑或高)

 

 

 1 class Operator10 {
 2     public static void main(String[ ] args){
 3     总结:短路或( || )、逻辑或( | )。运行结果都相同,但是执行过程可能不同.
 4     //当使用短路或,并且第一个结果为true时,则结果直接为true,运行结束。
    //若第一个条件为false,则继续判断第二个条件,如果是false,则结果就为false。如果是true,则结果就为true。
5 //建议使用短路或 6 System.out.println(1 != 2 || 55 > 66); //true 7 System.out.println(1 != 2 | 55 > 66); //true 8 9 System.out.println(2 >= 12 || 5 <= 9); //true 10 System.out.println(2 >= 12 | 5 <= 9); //true 11 } 12 }

 

总结:逻辑运算符最终运算输出的类型都是boolean类型

posted @ 2019-01-20 23:10  Penphy  阅读(313)  评论(0编辑  收藏  举报