• Java中短路与&&和短路或||


      短路的意思就是惰性运算,当符号左边的式子已经可以确认最后结果时,符号右边的式子就不进行计算了。

      短路与是Java语言中的一个逻辑运算符,记作&&,与编程语言中的与(&)相似,但是具有短路性质:在使用&进行运算时,不论左边为true或者false,右边的表达式都会进行运算,而如果使用&&进行运算,当左边为false时,右边的表达式不会进行运算,因此&&被称为短路与。

      短路或是Java语言中的一个逻辑运算符,记作||,与编程语言中的或(|)相似,但是具有短路性质:在使用|进行运算时,不论左边为true或者false,右边的表达式都会进行运算,而如果使用||进行运算,当左边为true时,右边的表达式不会进行运算,因此||被称为短路或。

    短路与和短路或的验证:

    import java.util.Random;
    
    /**
     * copyright(c)2021 zbh.ALL rights Reserved
     * <p>
     * 描述:
     *
     * @author zbh
     * @version 1.0
     * @date 2021/2/23
     */
    public class Demo1 {
        public static void main(String[] args) {
            // 验证短路与
            System.out.println("短路与:");
            boolean result = A() && B();
            System.out.println("---------------");
            // 验证短路或
            System.out.println("短路或:");
            result = A() || B();
            System.out.println("---------------");
            // 验证与
            System.out.println("与:");
            result = A() & B();
            System.out.println("---------------");
            // 验证或
            System.out.println("或:");
            result = A() | B();
        }
    
        private static boolean A() {
            System.out.println("enter A");
            boolean result = false;
            // 生成随机的true和false
            Random random = new Random();
            result = random.nextBoolean();
            // 输出返回的boolean类型是true还是false
            System.out.println("A:"+result);
            return result;
        }
    
        private static boolean B() {
            System.out.println("enter B");
            boolean result = false;
            // 生成随机的true和false
            Random random = new Random();
            result = random.nextBoolean();
            // 输出返回的boolean类型是true还是false
            System.out.println("B"+result);
            return result;
        }
    }
    

    运行结果:

      由结果可得,当A()返回的是false,运行的是短路与时,B()并没有执行。当A()返回的是true,运行的是短路或时,B()没有执行。当执行与和或时,无论A()返回什么,B()都会执行。

    总结

    • 对于与来说,要求所有的条件都要判断。

    • 对于短路与来说,如果第一个条件为false,则后面的条件不再判断。

    • 对于或来说,要求所有的条件都要判断。

    • 对于短路或来说,如果第一个条件为true,则后面的条件不在判断。

  • 相关阅读:
    源码0603-08-掌握-NSURLSession-上传
    源码0603-05-掌握-大文件下载
    源码0603-03-掌握-NSURLSession
    源码0603-01-了解-大文件下载(NSOutputStream)
    源码0602-10-掌握-文件上传11-了解-获得文件的MIMEType
    源码0602-08-掌握-解压缩
    源码0602-06-掌握-小文件下载-大文件下载
    用JS实现的控制页面前进、后退、停止、刷新以及加入收藏等功能
    java一路走来
    CKEditor3.5.3 JAVA下使用
  • 原文地址:https://www.cnblogs.com/zbh355376/p/14440474.html
Copyright © 2020-2023  润新知