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

  在现实中,经常会有同学在使用中产生混淆,从而使得流程控制语句发生混乱。在这里,我结合个人的使用经历,通过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循环剩余次数并未结束

          break;

        }

        System.out.println(i);//在控制台打印输出循环遍历的数字

      }

      System.out.println("for循环之后");

    }

  }

  在控制台打印输出如下:

  0

  1

  2

  4

  for循环之后

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

  我们再来看break的效果。

  2.break

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

  class Demo1 {//声明一个类Demo1

    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后会怎样呢?请看下面的代码:

  class Demo1 {//声明一个类Demo1

    public static void main(String[] args) {//入口函数

      for(int j=0;j<3;j++){//外层for循环

        for(int i=0;i<5;i++){//内层for循环

          if(i==3){//当i=3时,结束内层for循环

          break;

          }

          System.out.println(i);//在控制台打印输出循环遍历的数字

        }

        System.out.println("*********");//一轮内层for循环结束时的分隔符

      }

      System.out.println("for循环之后");

    }

  }

  控制台打印输出结果是:

  0

  1

  2

  *********

  0

  1

  2

  *********

  0

  1

  2

  *********

  for循环之后

  可见,在两层for循环中,break只是结束了所在层的for循环(即内层for循环),对外层for循环并未起到作用。

  那么,改为return后会怎样呢?

  3.return

  我们先来看下面的代码:

  class Demo1 {//声明一个类Demo1

    public static void main(String[] args) {//入口函数

      for(int j=0;j<3;j++){//外层for循环

        for(int i=0;i<5;i++){//内层for循环

          if(i==3){//当i=3时,结束方法

          return;

        }

        System.out.println(i);//在控制台打印输出循环遍历的数字

      }

      System.out.println("*********");//一轮内层for循环结束时的分隔符

     }    

    System.out.println("for循环之后");

    }

  }

  控制台打印输出为:

  0

  1

  2

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

  最后做下总结:在循环控制语句中,continue仅结束本次循环;break可以结束本层循环;return出现的地方,当前方法结束。

  希望能帮到您!

深度解析continue,break和return的更多相关文章

  1. php中 continue break exit return 的区别

    php 中的循环有 for foreache while do{} whlie这几种. 1.continue continue是用来在循环结构中,控制程序放弃本次循环continue: 之后的语句,并 ...

  2. js的break语句,continue语句,return语句

    js的break语句,continue语句,return语句. 用的时候很容易混淆,有过一次泪奔的经历. break语句 break语句会使运行的程序立刻退出包含在最内层的循环或者退出一个switch ...

  3. 在jquery中each循环中,要用return false代替break,return true代替continue。

    在jquery中each循环中,要用return false代替break,return true代替continue. $.each(data, function (n, value) { if(v ...

  4. JS中的continue,break,return的区别

    关于continue.break.return的用法区别早在大一C语言学习中研究过,这里单独拿出来,总结一下. 还是来点实在的吧,上代码 <!DOCTYPE html PUBLIC " ...

  5. C++ 退出双层for循环,解决 break、return、continue无法实现问题

    遇到一个情景,采用双层for循环 遍历图像的像素,当找到某一个像素点满足条件时,退出双层for 循环 . 首先了解一下 continue.break.return 各自功能用法: 1.continue ...

  6. 【转】C#中continue、break和return用法

    continue和break的用法一样,直接写上这个单词,后面加一个分号就行 比如: continue; break; 我们先来谈continue 看代码 for (int i=0; i<10; ...

  7. Java中关键字continue、break和return的区别

    Java中关键字continue.break和return的区别: continue:跳出本次循环继续下一次循环 break:   跳出循环体,继续执行循环外的函数体 return:   跳出整个函数 ...

  8. JavaScript的continue、break和return的区别

    1. continue.break和return的区别 循环遍历. for(let i = 0; i < 5; i++){ console.log(i); // 0 1 2 3 4 } 使用co ...

  9. break,return,continue的区别和作用

    学习目标: 理解break.return.continue在循环中的区别和作用 学习内容: 1.break break表示结束当前所在的循环. 循环输出到3,当i等于4后,跳出当前循环,继续向下执行循 ...

随机推荐

  1. JS中最经典的全局变量和局部变量问题

    话不多说,直接上例子: 1.程序的运行结果为:100  10  100 var a = 10; function test(){ a = 100; console.log(a); console.lo ...

  2. UVa12325, Zombie's Treasure Chest

    反正书上讲的把我搞得晕头转向的,本来就困,越敲越晕...... 转网上一个大神写的吧,他分析的很好(个人感觉比书上的清楚多了) 转:http://blog.csdn.net/u010536683/ar ...

  3. CSS3选择器在HTML5中的使用

    1,有CLASS属性的input标记 Input[class]{ } 2,class属性是sm的元素 Input[class='sm']{} 3,  凡是class=sm的元素 [class='sm' ...

  4. php7+apache2.4配置

    因为需要搭建一套discuz的程序,所以就扯到了php. 对于php完全没接触过,然后就百度了下php的容器,看到apache可以.机子上刚好有装,就干脆用它了. 测试环境:win10x64+php7 ...

  5. USACO奶牛博览会(DP)

    Description 奶牛想证明他们是聪明而风趣的.为此,贝西筹备了一个奶牛博览会,她已经对N头奶牛进行了面试,确定了每头奶牛的智商和情商. 贝西有权选择让哪些奶牛参加展览.由于负的智商或情商会造成 ...

  6. [oracle 使用(1)] win7/10 下Oracle10g的安装与卸载

    1.安装前提 首先要确保你的电脑之前没有安装过,或者安装过但是已经卸载干净了.至于如何查看是否卸载干净可以看看我后面的Oracle卸载步骤. 2.Oracle的安装. 2.1.首先自己在Oracle官 ...

  7. 【ASP.NET MVC 学习笔记】- 04 依赖注入(DI)

    本文参考:http://www.cnblogs.com/willick/p/3223042.html 1.在一个类内部,不通过创建对象的实例而能够获得某个实现了公开接口的对象的引用.这种"需 ...

  8. JAVA基础知识总结:五

    一.初步认识数组 1.理解数组 数组是用来存储相兼容数据类型的定长的容器 特点: a.只能存放相兼容数据类型,不能存放多种数据类型 b.可以存放基本数据类型和引用数据类型 c.数组是定长的,一旦被初始 ...

  9. Hadoop完全分布式环境搭建

    前言 本文搭建了一个由三节点(master.slave1.slave2)构成的Hadoop完全分布式集群(区别单节点伪分布式集群),并通过Hadoop分布式计算的一个示例测试集群的正确性. 本文集群三 ...

  10. Fastify 系列教程三 (验证、序列化和生命周期)

    Fastify 系列教程: Fastify 系列教程一 (路由和日志) Fastify 系列教程二 (中间件.钩子函数和装饰器) Fastify 系列教程三 (验证.序列化和生命周期) 验证 Fast ...