位置:电子教程 > Java基础语法 (如果看不到内容请使用360浏览器) 推荐学习资源
开发准备
Java 程序基础
Java 运算符
Java流程控制语句
当前阅读教程:Java基础语法 > 使用 break 语句实现 goto 的功能
阅读(22555525)      收藏       赞(5685)      分享
上一篇: 使用 break 语句直接强行退出循环 下一篇: Java continue语句

使用 break 语句实现 goto 的功能

有时候,在嵌套很深的循环语句中会发生一些不可预料的事情。此时可能更加希望跳到嵌套的所有循环语句之外。通过添加一些额外的条件判断实现各层循环的检测很不方便。

幸运的是,Java C++ 不同,Java 提供了一种带标签的 break 语句,用于跳出多重嵌套的循环语句。

break 语句可以实现 goto 的功能,并且 Java 定义了 break 语句的一种扩展形式来处理退出嵌套很深的循环这个问题。

通过使用扩展的 break 语句,可以终止执行一个或者几个任意代码块,这些代码块不必是一个循环或一个 switch 语句的一部分。同时这种扩展的 break 语句带有标签,可以明确指定从何处重新开始执行。

break 除了具有 goto 退出深层循环嵌套作用外,还保留了一些程序结构化的特性。

标签 break 语句的通用格式如下:

break label;

label 是标识代码块的标签。当执行这种形式的 break 语句时,控制权被传递出指定的代码块。被加标签的代码块必须包围 break 语句,但是它不需要直接包围 break 的块。也就是说,可以使用一个加标签的 break 语句来退出一系列的嵌套块,但是不能使用 break 语句将控制权传递到不包含 break 语句的代码块。

用标签(label)可以指定一个代码块,标签可以是任何合法有效的 Java 标识符,后跟一个冒号。加上标签的代码块可以作为 break 语句的对象,使程序在加标签的块的结尾继续执行。

下面是使用带标签的break 语句的示例

小白教程网www.2d5.net

public class YujuBreak03 {
    public static void main(String[] args) {
        label: for (int i = 1; i < 10; i++) {
            for (int j = 1; j < 8; j++) {
                System.out.println("j=" + j);
                if (j % 5 == 0) {
                    break label;
                }
            }
        }
    }

以上程序的执行结果为:

j=1

j=2

j=3

j=4

j=5

这里的 label 是标签的名称,可以为 Java 语言中任意合法的标识符。标签语句必须和循环匹配使用,使用时书写在对应的循环语句的上面,标签语句以冒号结束。如果需要中断标签语句对应的循环,可以采用 break 后面跟标签名的方式。

如在上面代码中,当 j 5 时,“j % 5 == 0”条件表达式成立,则 label 标签所代表的最外层循环终止。

注意:通常紧跟 break 之后的标签,必须在 break 所在循环的外层循环之前定义才有意义。


上一篇: 使用 break 语句直接强行退出循环 下一篇: Java continue语句
毕业设计网             广告联系QQ:45157718(微信同号)