zoukankan      html  css  js  c++  java
  • Java中短路

    当使用逻辑运算符时,我们会遇到一种“短路”的现象。即一旦能够准确无误的确定整个表达式的值,就不再计算表达式余下的部分了。因此整个表达式靠后的部分有可能不被运算

        /**短路
         * @param args
         */
        public static void main(String[] args) {
            boolean b=test1(0)&&test2(2)&&test3(2);
            System.out.println("expression is "+b);
        }
        static  boolean test1(int val){
            System.out.println("test1("+val+")");
            System.out.println("result:"+(val<1));
            return val<1;
        }
        static  boolean test2(int val){
            System.out.println("test2("+val+")");
            System.out.println("result:"+(val<2));
            return val<2;
        }    
        static  boolean test3(int val){
            System.out.println("test3("+val+")");
            System.out.println("result:"+(val<3));
            return val<3;
        }    
    View Code

    上述代码中当test2为false时,整个表达式的结果已经确定,后续的test3是不会被执行的。这样可以提升代码的性能

  • 相关阅读:
    工厂模式
    dubbo
    WebSocket WebService
    消息中间
    原型模式
    ApiPost Apifox
    Future 的使用与源码解析
    JUC 线程池的使用与源码解析
    ReentrantLock 源码解析
    CountDownLatch 的使用与源码解析
  • 原文地址:https://www.cnblogs.com/changshuo/p/3660520.html
Copyright © 2011-2022 走看看