• 逻辑运算符


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

      &和&& :两边都为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);
    
        }
    }
  • 相关阅读:
    asp.net保存远程图片
    JS中的转义字符
    SQL_统计某列的和
    SQL Server 出错自动回滚
    SQL中的循环语句_类似FOR循环
    转 C# 控制IE
    抓取html 写正则
    正则截取内容
    用于测试的字符串
    C#关闭IE相应的窗口 .
  • 原文地址:https://www.cnblogs.com/zmy-520131499/p/11047432.html
Copyright © 2020-2023  润新知