zoukankan      html  css  js  c++  java
  • 浅谈Java中"&&"和"&"的区别

    描述:“&&”和“&”都是java中的逻辑运算符,并且它们都表示“逻辑与”即“同真则真,有一假则假”,它们的区别在于“&&”具有短路功能,即如果左边是false,则右边的逻辑表达式不会执行。而“&”没有短路功能,无论左边是false还是true右边都会执行。

    例子1:

    package com.jia.test;
    
    
    public class Test {
        public static void main(String[] args) {
            System.out.println(false && (1/0==0)); //右边逻辑表达式如果执行会有除0异常 ,java.lang.ArithmeticException: / by zero
        }
    }

    运行结果:

    false
    
    Process finished with exit code 0

    比较上下两端代码可以发现区别:

    例子2:

    package com.jia.test;
    
    
    public class Test {
        public static void main(String[] args) {
            System.out.println(false & (1/0==0)); //右边逻辑表达式会如果执行会有除0异常
        }
    }

    运行结果:

    Exception in thread "main" java.lang.ArithmeticException: / by zero
        at com.jia.test.Test.main(Test.java:7)

    对于“||”和“|”也是一样的道理,“||”具有短路效果,若左边是true,右边逻辑表达式就不会执行,结果返回true;而“|”无论左边是false还是true右边都会执行。

  • 相关阅读:
    个人总结
    第二次冲刺 10
    第二次冲刺 09
    第二次冲刺 08
    第二次冲刺 07
    团队冲刺第七天
    团队绩效评估
    团队冲刺第六天
    团队冲刺第五天
    团队冲刺第四天
  • 原文地址:https://www.cnblogs.com/luckyjcx/p/12401793.html
Copyright © 2011-2022 走看看