摘要:介绍4种跳出循环的方式,尤其是其中的break 标签,有时候真的会成为工作中的秘密武器。

  在实际编程中,有时需要在条件语句匹配的时候跳出循环。在 Java 语言里,由关键词 break 和 continue 控制。Java跳出for或者while循环的四种方式:

  continue:跳出当前层循环的当前语句,执行当前层循环的下一条语句。

  break:跳出当前层循环。

  break+标签:多层循环时,跳到具体某层循环。

  return:结束所有循环,方法内直接返回。

  break和continue是老生常谈的东西,break是终止当前层循环,包括之后的本层循环,continue是终止本次循环的语句,继续之后的本层循环。

break 语句

  在存在内循环的情况下,Java break 语句用来结束内循环,即不再执行当前内循环后边的所有循环,但外循环仍然继续执行。

  【示例】打印当前循环坐标。

    private static void breakDemo() {
for (int i = 1; i <= 3; i++) {
for (int j = 1; j <= 3; j++) {
if (i == 2 && j == 1) {
break;
}
System.out.println(i + ", " + j);
}
}
}

  由输出结果可知没有打印i=2时的内循环数据:

1, 1
1, 2
1, 3
3, 1
3, 2
3, 3

  分析:循环中跳过了i=2时,对内循环的遍历。

continue 语句

  Java continue 语句用来终止当前操作,并继续内循环,即仅仅是这一次循环结束了,而非所有循环结束了,后边的循环依旧进行。

    private static void continueDemo() {
for (int i = 1; i <= 3; i++) {
for (int j = 1; j <= 3; j++) {
if (i == 2 && j == 2) {
continue;
}
System.out.println(i + ", " + j);
}
}
}

  在如下输出结果中,没有打印2, 2

1, 1
1, 2
1, 3
2, 1
2, 3
3, 1
3, 2
3, 3

带标签的break

  使用break语句只能跳出一层循环,但是在实际开发中,有时会碰到跳出到某层循环的情况,这时使用break语句就不能达到预期效果,需要搬出break 标签了。

  java的标签只能定义在语句块的上方,例如while和for循环,用于跳出多重嵌套的循环语句块,如下面loop的形式定义。可以直接在内层使用break lable跳出指定的代码块。

    private static void labelDemo() {
for (int i = 1; i <= 3; i++) {
loop:
for (int j = 1; j <= 3; j++) {
for (int k = 1; k <= 3; k++) {
if (j == 2) {
break loop;
}
System.out.println(i + ", " + j + ", " + k);
}
}
}
}

  分析:遇到j==2的时候,就跳出循环到loop:

1, 1, 1
1, 1, 2
1, 1, 3
2, 1, 1
2, 1, 2
2, 1, 3
3, 1, 1
3, 1, 2
3, 1, 3

  一言以蔽之,带标签的break的影响范围是指定标签后定义的循环语句块。

  return 结束所有循环,方法内直接返回。这个容易理解,就不介绍了。

结束语

  对于Wiener以上的话题,大家又有什么自己的独特见解呢?欢迎在下方评论区留言!

Reference

JAVA基础-跳出循环的4种方式的更多相关文章

  1. Java读写文件的几种方式

    自工作以后好久没有整理Java的基础知识了.趁有时间,整理一下Java文件操作的几种方式.无论哪种编程语言,文件读写操作时避免不了的一件事情,Java也不例外.Java读写文件一般是通过字节.字符和行 ...

  2. JAVA解析XML的四种方式

    java解析xml文件四种方式 1.介绍 1)DOM(JAXP Crimson解析器) DOM是用与平台和语言无关的方式表示XML文档的官方W3C标准.DOM是以层次结构组织的节点或信息片断的集合.这 ...

  3. Java中创建对象的几种方式

    Java中创建对象的五种方式: 作为java开发者,我们每天创建很多对象,但是我们通常使用依赖注入的方式管理系统,比如:Spring去创建对象,然而这里有很多创建对象的方法:使用New关键字.使用Cl ...

  4. java产生随机数的几种方式

    java产生随机数的几种方式 一.在j2se里我们可以使用Math.random()方法来产生一个随机数,这个产生的随机数是0-1之间的一个double,我们可以把他乘以一定的数,比如说乘以100,他 ...

  5. Java添加事件的四种方式

    Java添加事件的几种方式(转载了codebrother的文章,做了稍微的改动) /** * Java事件监听处理——自身类实现ActionListener接口,作为事件监听器 * * @author ...

  6. java解析xml的几种方式

    java解析xml的几种方式 DOM DOM的全称是Document ObjectModel,也即文档对象模型.在应用程序中,基于DOM的XML分析器将一个XML文档转换成一个对象模型的集合(通常称D ...

  7. 对Java代码加密的两种方式,防止反编译

    使用Virbox Protector对Java项目加密有两种方式,一种是对War包加密,一种是对Jar包加密.Virbox Protector支持这两种文件格式加密,可以加密用于解析class文件的j ...

  8. Java中创建对象的五种方式

    我们总是讨论没有对象就去new一个对象,创建对象的方式在我这里变成了根深蒂固的new方式创建,但是其实创建对象的方式还是有很多种的,不单单有new方式创建对象,还有使用反射机制创建对象,使用clone ...

  9. java 实现websocket的三种方式

    Java中实现websocket常见有以下三种方式: 使用tomcat的websocket实现,需要tomcat 7.x,JEE7的支持. 使用spring的websocket,spring与webs ...

  10. java 遍历Map的四种方式

      java 遍历Map的四种方式 CreationTime--2018年7月16日16点15分 Author:Marydon 一.迭代key&value 第一种方式:迭代entrySet 1 ...

随机推荐

  1. 腾讯地图web端请求报错113.该功能未授权

    问题描述: 请求地址:https://apis.map.qq.com/jsapi?qt=geoc&addr=%2C%2C%2C&key=你的key&output=jsonp&a ...

  2. Git pull(拉取),push(上传)命令整理(详细)

    转自:https://www.cnblogs.com/wbl001/p/11495110.html (文档较长,请大家耐心阅读,很有帮助) git比较本地仓库和远程仓库的差异 更新本地的远程分支 gi ...

  3. ModuleNotFoundError: No module named '_sqlite3' when Python3

    前言 运行 python 报错:ModuleNotFoundError: No module named '_sqlite3' 解决 重新编译安装 python ./configure --enabl ...

  4. ant-design-pro 自定义表单 rules规则

    表单输入 <ProFormText name="id" label={intl.formatMessage({ id: 'pages.secret.form.id' })} ...

  5. Golang 入门 : 类型系统介绍

    Go语言类型系统 从计算机底层看,所有的数据都是由比特组成,但计算机一般操作的是固定大小的数,如整数.浮点数.比特数组.内存地址等.但是直接操控底层计算机指令进行编程是非常繁琐和容易出错的,所以Go语 ...

  6. 告别手动敲代码!VSCODE 风格在线可视化开发平台,效率飙升!

    2025 年 2 月 21 日消息,对于广大开发者而言,今天迎来一则重大利好消息!一款操作布局与 VSCODE 极为相似的可视化开发神器 --Joker 智能可视化开发平台正式上线.无论你是深耕前端领 ...

  7. PKCS#系列规范分别规定了什么

    PKCS#1:定义了RSA公钥和私钥的表示方法,以及如何进行RSA加密和签名. PKCS#2:原本是用以规范RSA加密摘要的转换方式,现已被纳入PKCS#1之中. PKCS#3:规范以Diffie-H ...

  8. Jenkins合并代码Git报错处理过程

    #jenkins合并代码时候报错内容#10:36:08 ! [rejected] HEAD -> master (non-fast-forward)#10:36:08 error: failed ...

  9. 小白快速了解的Java知识!

    Java初学习 1.Java的诞生与崛起 1972年,c语言诞生,其高效率,运行速度快让大批程序员为之倾倒,但是c语言的指针及其内存管理需要程序员自行操作,浪费了大量的时间以及精力,再加上c语言需要尽 ...

  10. 标准javabean

    1.javabean介绍 javabean,名为实体类,封装数据的类 前面我们写的类都是实体类,但我们写的不是标准的实体类 . 2.标准的javabean写法 如图 3.快捷键 一个成员变量就要写两个 ...