Java中带标签的break语句
2018-03-05 10:20
197 查看
如有错误或遗漏,敬请指正!
在Donald Kunth的《Structured Programming with goto statements》一文中指出:无限制地使用goto语句确实是导致错误语句的根源,但在某些情况下,偶尔使用goto跳出循环还是有益处的。
Java保留了goto关键字,但是并没有实现它。Java为了支持goto语句的程序设计风格,提供了带有标签的break语句,这是功能受到严格限制的“goto语句”。
break语句的格式:
当触发break label时,会跳出整个statement语句,然后继续执行statement后面的语句。
break label语句只能跳出语句,并且只能跳出紧跟在label后的一个语句。
Java中break语句在不带有标签时,只能跳出其所在的最内层循环;当break语句带有标签时,则会跳出其所在循环的所有循环。
来看一个break label语句的例子:
程序运行结果:
在Donald Kunth的《Structured Programming with goto statements》一文中指出:无限制地使用goto语句确实是导致错误语句的根源,但在某些情况下,偶尔使用goto跳出循环还是有益处的。
Java保留了goto关键字,但是并没有实现它。Java为了支持goto语句的程序设计风格,提供了带有标签的break语句,这是功能受到严格限制的“goto语句”。
break语句的格式:
label:statement { ... break label; ... };
当触发break label时,会跳出整个statement语句,然后继续执行statement后面的语句。
注意:
break label语句只能跳出语句,并且只能跳出紧跟在label后的一个语句。
Java中break语句在不带有标签时,只能跳出其所在的最内层循环;当break语句带有标签时,则会跳出其所在循环的所有循环。
来看一个break label语句的例子:
public class BreakLabelDemo { public static void main(String[] args) { label_dem01: { System.out.println("Hello break label demo1"); for (int i = 0; i < 10; i++) { for (int k = 0; k < 10; k++) { if (k + i == 15) { System.out.println("break label happend"); break label_dem01; } } } } System.out.println("beak all loop now"); } }
程序运行结果:
Hello break label demo1 break label happend beak all loop now
相关文章推荐
- 带标签的break和continue语句(Java、C++)
- [Java] Java中带标签的break语句
- java、C++-带标签的break 和 continue语句
- java 控制流程 &枚举类型 enum 的用法 & 带标签的break语句 &continue语句
- JAVA语言循环结束语句不同于C++之处-break,continue 标签
- java中带标签的break语句
- java中标签的使用(附带break和continue)
- 浅谈一下Java基础中的break和continue关键字(带标签和不带标签问题)
- 【Java学习笔记】04.流程控制语句与break,continue的使用
- Java控制语句——break和continue
- Java标签-break-continue
- 原来java中也有类似goto语句的标签啊--java label标签(一)
- Java之戳中痛点 - (5)switch语句break不能忘以及default不同位置的用法
- Java中break、continue、return语句的使用区别
- java中的break和continue语句
- Java continue 、break、标签
- java学习之路 之 基本语法-特殊的流程控制语句(break、continue、return)
- 带有标签的break语句
- Java流程控制的陷阱——switch语句和标签陷阱
- Java中利用标签跳出外层循环break