Java中的break、continue、return的区别

引用

    Java的关键字break,return、continue在使用中可以很好的提高代码的执行效率,比如在执行一段循环操作之前,如果先判断条件不满足,就continue直接下一组循环,或者执行到满足的条件了,无需再循环遍历,就可以break跳出循环,不必对后续代码进行无效的执行了。

 概念

    我们从引言中也大概知道了三者的区别,先贴一段网上看到的区别描述:

    continue:跳出本次循环继续下一次循环

    break:   跳出循环体,继续执行循环外的函数体

    return:   跳出整个函数体,函数体后面的部分不再执行。

实践

    看了概念部分,我们可以动手来操作一下,撸一段代码,代码如下:

    @Test
    public void testBreakContinueReturn(){
        for (int i = 0; i < 5; i++){
            if (i == 2){
                break;
            }
            System.out.println("break[" + i + "]");
        }
        System.out.println("break end!");
        for (int i = 0; i < 5; i++){
            if (i == 2){
                continue;
            }
            System.out.println("continue[" + i + "]");
        }
        System.out.println("continue end!");
        for (int i = 0; i < 5; i++){
            if (i == 2){
                return;
            }
            System.out.println("return[" + i + "]");
        }
        System.out.println("return end!");
    }

    执行结果如下:

    

    执行结果很明显的印证了概念上说的内容。

后记

    为了更能的说明return是结束函数体,demo中通过调用一个方法,修改的代码如下:

    public void testBreakContinue(){
        for (int i = 0; i < 5; i++){
            if (i == 2){
                break;
            }
            System.out.println("break[" + i + "]");
        }
        System.out.println("break end!");

        for (int i = 0; i < 5; i++){
            if (i == 2){
                continue;
            }
            System.out.println("continue[" + i + "]");
        }
        System.out.println("continue end!");

        returnInMethod();
        System.out.println("return to call method");

        for (int i = 0; i < 5; i++){
            if (i == 2){
                return;
            }
            System.out.println("return[" + i + "]");
        }
        System.out.println("return end!");
    }

    private void returnInMethod(){
        System.out.println("return in method");
        return;
    }

猜你喜欢

转载自my.oschina.net/u/3470849/blog/1612044