• 流程控制之 break ,continue,return的区别


    首先文字描述一下区别:

    break 为终止当前循环。跳出当前循环,但是后面的语句(即当前方法中当前循环之外后面的语句)还是会执行。

    continue 为停止本次循环,继续执行后面的循环。当然后面的语句还是会执行

    return  为终止当前循环(跟break很像),跳出当前方法。

    看概念是不是不容易明白,下面直接撸代码。简单明了

    public class Test {
    public static void main(String[] args) {
    for(int i=1;i<4;i++){
    System.out.println("外层循环,执行了第"+i+"次");
    for(int k=1;k<3;k++){
    System.out.println("内层循环,执行了第"+k+"次");
    }
    }

    System.out.println("循环之后的语句");
    }
    }

    这是一个嵌套循环,没有加控制语句输出结果为

    外层循环,执行了第1次
    内层循环,执行了第1次
    内层循环,执行了第2次
    外层循环,执行了第2次
    内层循环,执行了第1次
    内层循环,执行了第2次
    外层循环,执行了第3次
    内层循环,执行了第1次
    内层循环,执行了第2次

    循环之后的语句

    然后加上控制语句试试

    public class Test {
    public static void main(String[] args) {
    for(int i=1;i<4;i++){
    System.out.println("外层循环,执行了第"+i+"次");
    for(int k=1;k<3;k++){
    System.out.println("内层循环,执行了第"+k+"次");

    break;
    }
    }

    System.out.println("循环之后的语句");
    }
    }

    输出结果为

    外层循环,执行了第1次
    内层循环,执行了第1次
    外层循环,执行了第2次
    内层循环,执行了第1次
    外层循环,执行了第3次
    内层循环,执行了第1次
    循环之后的语句

    可以看到break 只是跳出了当前的循环,没有终止循环外的另一个循环。并且循环后的语句也执行了、

    下面看看continue

    public class Test {
    public static void main(String[] args) {

    for(int i=1;i<4;i++){
    if(i==2){
    continue;
    }
    System.out.println("循环,执行了第"+i+"次");
    }

    System.out.println("循环之后的语句");
    }
    }

    输出结果为:

    循环,执行了第1次
    循环,执行了第3次
    循环之后的语句

    可以看到 i=2时 循环没有执行

    看看return

    public class Test {
    public static void main(String[] args) {
    for(int i=1;i<4;i++){
    System.out.println("外层循环,执行了第"+i+"次");
    for(int k=1;k<3;k++){
    System.out.println("内层循环,执行了第"+k+"次");
    return;
    }
    }
    System.out.println("循环之后的语句");

    }

    }

    输出结果为:

    外层循环,执行了第1次
    内层循环,执行了第1次

    可以看到return不仅终止当前循环,还跳出了当前方法。

  • 相关阅读:
    arcgis10.4.X的oracle数据库要求
    面试高峰期,如何应对面试官的jvm刁难,特写一篇jvm面经(第一部)
    某公司面试打分文档,75分通过
    git-github 提示Permission denied (publickey) (windows)
    jar项目 BeanDefinitionParsingException: Configuration problem:Unable to locate Spring NamespaceHandler for XML schema namespace
    关于No Spring WebApplicationInitializer types detected on classpath的提示,tomcat 卡主
    spring+orm框架的兼容问题
    程序员常用工具
    IDEA-常见问题
    IDEA-基本设置
  • 原文地址:https://www.cnblogs.com/zjf6666/p/7567514.html
Copyright © 2020-2023  润新知