欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

逻辑运算符

程序员文章站 2022-03-19 23:39:57
逻辑运算符 : &—逻辑与 | —逻辑或 !—逻辑非 && —短路与 || —短路或 ^ —逻辑异或 &和&& :两边都为true结果为true |和|| :两边有一个为true结果为true ! : 取反 ^ : 相同为false,不同为true 说明: 1.逻辑运算符运算的数据类型是boolea ......

逻辑运算符 : &—逻辑与 | —逻辑或 !—逻辑非
  && —短路与 || —短路或 ^ —逻辑异或

  &和&& :两边都为true结果为true
  |和|| :两边有一个为true结果为true
  ! : 取反
  ^ : 相同为false,不同为true

说明:
  1.逻辑运算符运算的数据类型是boolean类型
  2.逻辑运算符的结果为boolean类型

 

public class logictest{

    public static void main(string[] args){
        
        boolean bo = true;
        boolean bo2 = false;
        system.out.println(bo & bo2);//false
        system.out.println(bo && bo2);//false
        system.out.println(bo | bo2);//true
        system.out.println(bo || bo2);//true
        system.out.println(bo ^ bo2);//true
        system.out.println(!bo2);//true

        system.out.println("-------------------------------");

        /*
            [面试题] & 和 &&的区别?|和||的区别?

            & 和 &&的区别?
                & : 左边的结果无论是true还是false右边的式子都会执行
                && : 左边的结果为true的时候右边的式子正常执行(因为右边的结果会影响最终结果)
                     左边的结果为false的时候右边的式子不执行(因为右边的结果不会影响最终结果)

            |和||的区别?
                | : 左边的结果无论是true还是false右边的式子都会执行
                || : 左边的结果为false的时候右边的式子正常执行(因为右边的结果会影响最终结果)
                     左边的结果为true的时候右边的式子不执行(因为右边的结果不会影响最终结果)
        */
        system.out.println("---------------------& 和 &&-----------------");
        boolean bool = false;

        int a = 5;
        if(bool & (++a > 2)){ //注意点 : ++有没有执行
            system.out.println("true");
        }
        system.out.println("bool = " + bool + "  a=" + a);


        int a2 = 5;
        if(bool && (++a2 > 2)){ //注意点 : ++有没有执行
            system.out.println("true");
        }
        system.out.println("bool = " + bool + "  a2=" + a2);

        system.out.println("---------------------| 和 ||-----------------");

        boolean bl = true;

        int n = 5;
        if(bl | (++n > 2)){ //注意点 : ++有没有执行
            system.out.println("true");
        }
        system.out.println("bl = " + bl + "  n=" + n);


        int n2 = 5;
        if(bl || (++n2 > 2)){ //注意点 : ++有没有执行
            system.out.println("true");
        }
        system.out.println("bl = " + bl + "  n2=" + n2);

    }
}