zoukankan      html  css  js  c++  java
  • 深度解析continue,break和return

    continue,break和return是Java中的关键字,在流程控制中使用频率较高。

    在使用中,经常会有同学在使用中产生混淆,从而一系列bug。

    在这里,我通过Java编程为大家解析三者在实际使用中的区别。

    1.continue

    通常出现在程序循环控制结构中,表示结束本次循环,若后续还有循环,则继续进行后面的循环。举例:

    class Demo1 {//声明一个类Demo1
      public static void main(String[] args) {//入口函数
        for(int i=0;i<5;i++){//for循环
          if(i==3){//当i=3时,仅结束本次循环,但是for循环剩余次数并未结束
            continue;
          }
        System.out.println(i);//在控制台打印输出循环遍历的数字
        }
        System.out.println("for循环之后");
      }
    }
    

    在控制台打印输出如下:  

    0
    1
    2
    4
    for循环之后
    

    可见,当i=3时,仅结束本次循环,for循环剩下的次数并未结束;同时,for循环之后的语句可以正常执行,比如控制台打印输出“for循环之后”。

    我们再来看break。

    2.break

    我们还用上面的代码,不同的是将continue改为break。  

    class Demo2 {//声明一个类Demo2
      public static void main(String[] args) {//入口函数
        for(int i=0;i<5;i++){//for循环
          if(i==3){//当i=3时,结束for循环
            break;
          }
        System.out.println(i);//在控制台打印输出循环遍历的数字
        }
        System.out.println("for循环之后");
      }
    }
    

      控制台打印输出结果是:  

    0
    1
    2
    for循环之后
    

    可见,当i=3时,for循环结束,不再执行剩余的循环,同时继续执行for循环之后的语句(如打印输出“for循环之后”)。

    上面是一层or循环,如果在两层for循环中使用break会怎样呢?请看下面的代码: 

    public class Demo3 {
      public static void main(String[] args) {//入口函数
        for(int i=0;i<3;i++){//外层for循环
          for(int j=0;j<5;j++){//内层for循环
            if(j==4){//当j=3时,结束内层for循环
              break;
            }
            System.out.println(j);//在控制台打印输出循环遍历的数字
          }
          System.out.println("*********");//一轮内层for循环结束时的分隔符
        }
        System.out.println("for循环之后");
      }
    }
    

     控制台打印输出结果是:

    0
    1
    2
    3
    *********
    0
    1
    2
    3
    *********
    0
    1
    2
    3
    *********
    for循环之后
    

      可见,在两层for循环中,break只是结束了所在层的for循环(即内层for循环),并未结束外层for循环。那么,改为return会怎样呢?

      3.return

      我们先来看下面的代码:  

    class Demo4 {//声明一个类Demo4
      public static void main(String[] args) {//入口函数
        for(int i=0;i<3;i++){//外层for循环
          for(int j=0;j<5;j++){//内层for循环
            if(j==4){//当i=3时,结束方法
              return;
            }
            System.out.println(j);//在控制台打印输出循环遍历的数字
          }
          System.out.println("*********");//一轮内层for循环结束时的分隔符
        }
        System.out.println("for循环之后");
      }
    }
    

    控制台打印输出为:  

    0
    1
    2
    3
    

    可见,使用return后,整个方法结束。

    最后做下总结:

    在循环控制语句中,continue仅结束本次循环;break结束本重循环;return结束当前方法。

    希望能帮到您!

  • 相关阅读:
    Activity(二)
    channelartlist标签的使用
    把数据保存到数据库附加表 `dede_addonarticle` 时出错,请把相关信息提交给DedeCms官方。Duplicate entry '2' for key 'PRIMARY'
    TP5.0验证器使用方法
    TP5.0登录验证码实现
    dede列表页限制标题长度
    dede搜索页做法
    表单正则验证简便方法
    解决织梦dedecms文档关键字(自动内链)php5.5以上失效的问题 urf-8版本的
    织梦dede解决“更新数据库archives表时出错"方法
  • 原文地址:https://www.cnblogs.com/lizhangyong/p/7866545.html
Copyright © 2011-2022 走看看