针对三目运算符与if else的运行速度测试

针对三目运算符以及if else的运行时间做了一个简单的测试,发现在多次测试结果中:

       三目运算符在时间上远远大于if else(纳秒为单位)。

贴上代码:

        //获取开始时间
        long startTime=System.nanoTime();

        //测试的代码段
        StringBuilder stringBuilder = new StringBuilder("One");
        //三目运算符
        System.out.println(stringBuilder.equals("456")?stringBuilder.append("One"):stringBuilder.append("Two"));

        //获取结束时间
        long endTime=System.nanoTime();

        System.out.println("三目运算符程序运行时间: "+(endTime-startTime)+"ns");

        //获取开始时间
        long startTimeOne = System.nanoTime();

        //测试的代码段
        StringBuilder stringBuilderOne = new StringBuilder("One");

        if (stringBuilderOne.equals("456")){
            stringBuilderOne.append("One");
        }else {
            stringBuilderOne.append("Two");
        }
        System.out.println(stringBuilderOne);

        //获取结束时间
        long endTimeOne = System.nanoTime();

        System.out.println("if else程序运行时间: "+(endTimeOne-startTimeOne)+"ns");

运行时间对比example:

之后查阅他人资料--引用

分析:这只是简单的判断,我们发现三元运算符在对简单的逻辑判断的代码量比if判断结构少,提高了复用性,并且iif判断语句只是单纯的判断并输出结果判断后的结果,而三元运行符,发生了运算符的赋值动作,也就是运算,而if判断结构没有,简单来说就是三元运算符有运算结果,而if判断结果没有运算结果,如果是相对复杂的逻辑判断,三元运算符则不能替代if判断结果,反之如果是简单的逻辑判断三元运算符更加简洁,根据不同情况来选择。
--------------------- 
来源:CSDN 
原文:https://blog.csdn.net/qq1723205668/article/details/51661187 

你可能感兴趣的:(Java基础)