Return、Continue、Break关键字区别

前言:       

        可能很多人对这三个关键字在循环中使用时的作用都模棱两可, 针对我本人也是这种情况。所以就收集了资料,并自己实践后,得出了如下结论!讨论下它们的区别。

正文:

        1.Return:直接跳出当前方法,返回到该调用的方法语句处,继续执行;

        2.Continue:结束本次的循环,直接进行下一次的循环;

        3.Break:在循环体内结束整个循环过程。

实践:

        相同点:方法里面都是一个for循环,每次循环控制台打印结果,结束循环后在方法体中打印结果,方法执行结束后返回主函数后打印结果。

        不同点:在for循环中写一个条件判断,例如i = 3时,看三个关键字分别的打印结果

        效果:对比结果,分析区别

测试:

(一)测试函数

/**
 * @author qingnianren
 * @context return、continue、break关键字区别
 */
public class KeywordDifference {

    public static void main(String[] args) {
        testReturn();
        testContinue();
        testBreak();

        System.out.println("======main 主函数======");
    }

    /**
     * return测试方法
     */
    private static void testReturn() {
        for (int i = 0; i < 5; i++) {

            if (i == 3) {
                return;
            }
            System.out.println("---return--------" + i);
        }
        System.out.println("===return====for循环体外");
    }

    /**
     * continue测试方法
     */
    private static void testContinue() {
        for (int i = 0; i < 5; i++) {

            if (i == 3) {
                continue;
            }
            System.out.println("---continue--------" + i);
        }
        System.out.println("===continue====for循环体外");
    }

    /**
     * break测试方法
     */
    private static void testBreak() {
        for (int i = 0; i < 5; i++) {

            if (i == 3) {
                break;
            }
            System.out.println("---break--------" + i);
        }
        System.out.println("===break====for循环体外");
    }
}

(二)输出结果

Return关键字

---return--------0
---return--------1
---return--------2
======main 主函数======

Continue关键字

---continue--------0
---continue--------1
---continue--------2
---continue--------4
===continue====for循环体外
======main 主函数======

Break关键字

---break--------0
---break--------1
---break--------2
===break====for循环体外
======main 主函数======

结论:

        return:当i == 3时,执行return后,不仅结束了循环,而且结束了方法,直接回到主函数了,所以return的作用是结束了所在方法的调用       

        continue:当i == 3时,执行continue后,没有打印接下的---continue--------3,但是下一次循环---continue--------4还是打印了,所以continue只是结束了本次循环 

        break:当i == 3时,执行break后,直接到for循环外,打印===break====for循环体外,所以break的作用是结束循环

锚点:    

/**
 * @author qingnianren
 * @context out参数
 */
public class BreakOut {

    public User setUserName(String str) {
        User user = new User();
        user.setName("unknown");
        out:
        {
            if (str.equals("kyrie")) {
                user.setName("irving");
                break out;
            }
            if (str.equals("kevin")) {
                user.setName("durant");
                break out;
            }
        }
        return user;
    }
}

猜你喜欢

转载自blog.csdn.net/m0_60252632/article/details/125866473