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. Zookeeper 笔记-应用场景

    应用场景:数据发布,订阅:分布式应用配置项:分布式计数器:统一命名服务:状态同步服务:集群管理:Master选举:分布式锁:定时任务争夺:分布式队列:分布式协调通知 特点:顺序一致性,原子性,单一视图 ...

  2. HTTP 简要

    HTTP协议就是客户端和服务器交互的一种通迅的格式. 当在浏览器中点击这个链接的时候,浏览器会向服务器发送一段文本,告诉服务器请求打开的是哪一个网页.服务器收到请求后,就返回一段文本给浏览器,浏览器会 ...

  3. JAVA基础知识总结:四

    一.方法 1.什么是方法? 对于功能相同的代码段,为了简化代码,会把功能相同的代码抽取出来,方便多次使用,Java中,我们使用[方法],也被称为函数 2.函数的声明 语法: 访问权限修饰符 其他修饰符 ...

  4. poi入门之读写excel

    Apache POI 是用Java编写的免费开源的跨平台的 Java API,Apache POI提供API给Java程式对Microsoft Office格式档案读和写的功能.该篇是介绍poi基本的 ...

  5. LeetCode 219. Contains Duplicate II (包含重复项之二)

    Given an array of integers and an integer k, find out whether there are two distinct indices i and j ...

  6. Oracle官方非托管Odac驱动与Oracle官方托管odac驱动

    方便自己,方便他人,记一次连接oracle的经历,使用 [Oracle官方非托管Odac驱动,Oracle.DataAccess.Client]连接数据库的时候程序会报错,找了很久都不知道是什么原因, ...

  7. Mybatis Generator生成Mybatis Dao接口层*Mapper.xml以及对应实体类

    [前言] 使用Mybatis-Generator自动生成Dao.Model.Mapping相关文件,Mybatis-Generator的作用就是充当了一个代码生成器的角色,使用代码生成器不仅可以简化我 ...

  8. thinkphp 默认首页 更改

    原thinkphp的默认首页为:Home/index,如果想更改,则需要配置: 在Common/config之下 'DEFAULT_CONTROLLER' => 'Admin', // 更改后默 ...

  9. express紧急回顾随笔

    四行代码搭建服务器 var express = require('express'); var app = express(); //设定静态路径 所有请求优先在此路径查找 //不要把服务器配置JS文 ...

  10. JQ编写楼层效果

    <!DOCTYPE html><html> <head> <meta charset="UTF-8"> <title>& ...