首页 > 编程笔记 > Java笔记 阅读:25

Java break和continue跳转语句的用法(非常详细)

break 和 continue 是 Java 程序中常见的跳转语句。

break 语句用于立即终止循环,使程序跳出循环体,执行循环后的代码。当某个条件满足时,我们可以使用 break 来提前结束循环。

continue 语句用于跳过当前循环的剩余代码,直接进入下一次循环。当某个条件满足时,我们可以使用 continue 来跳过本次循环的执行,直接进入下一次循环。

Java break语句

break 语句可用于 while、do-while 和 for 循环结构,它的作用是强行退出循环体,不再执行循环体中剩余的语句。

在循环体中使用 brea k语句有两种方式:带有标签和不带标签。语法格式如下:
break; // 不带标签
break label; // 带标签,label是标签名
不带标签的 break 语句使程序跳出所在层的循环体,而带标签的 break 语句使程序跳出标签指示的循环体。

【实例 1】不带标签的 break 语句。
public class BreakExample {
    public static void main(String[] args) {
        for (int i = 1; i <= 5; i++) {
            if (i == 3) {
                System.out.println("遇到 i 等于 3,退出循环");
                break; // 不带标签的 break 语句
            }
            System.out.println("当前 i 的值:" + i);
        }
        System.out.println("循环结束");
    }
}
程序运行结果如下:

当前 i 的值:1
当前 i 的值:2
遇到 i 等于 3,退出循环
循环结束

在这个示例中,我们使用 for 循环从 1 到 5 遍历整数 i。当 i 等于 3 时,程序遇到了 break 语句,循环立即终止,输出“遇到 i 等于 3,退出循环”。然后程序继续执行循环后的代码,输出“循环结束”。

【实例 2】带标签的 break 语句。
public class LabeledBreakExample {
    public static void main(String[] args) {
        outerLoop:
        for (int i = 1; i <= 3; i++) {
            innerLoop:
            for (int j = 1; j <= 3; j++) {
                if (i == 2 && j == 2) {
                    System.out.println("遇到 i 和 j 同时等于 2,退出外层循环");
                    break outerLoop; // 带标签的 break 语句
                }
                System.out.println("当前 i 的值:" + i + ", 当前 j 的值:" + j);
            }
        }
        System.out.println("外层循环结束");
    }
}
程序运行结果如下:

当前 i 的值:1,当前 j 的值:1
当前 i 的值:1,当前 j 的值:2
当前 i 的值:1,当前 j 的值:3
当前 i 的值:2,当前 j 的值:1
遇到 i 和 j 同时等于 2,退出外层循环
外层循环结束

在这个示例中,有一个外层循环和一个内层循环,并使用 outerLoop 和 innerLoop 作为标签。当内层循环遍历到 i 和 j 同时等于 2 时,程序遇到了带有标签 outerLoop 的 break 语句,导致外层循环立即终止。因此,我们输出“遇到 i 和 j 同时等于 2,退出外层循环”,然后外层循环结束。

Java continue语句

continue 语句用来结束本次循环,跳过循环体中尚未执行的语句,接着进行终止条件的判断,以决定是否继续循环。对于 for 语句,在进行终止条件的判断前,还要先执行迭代语句。

在循环体中使用 continue 语句有两种方式:可以带有标签,也可以不带标签。语法格式如下:
continue;       // 不带标签
continue label1; // 带标签,label1 是标签名

【实例 3】不带标签的 continue 语句。
public class ContinueExample {
    public static void main(String[] args) {
        for (int i = 1; i <= 5; i++) {
            if (i == 3) {
                System.out.println("遇到 i 等于 3,跳过本次循环");
                continue; // 不带标签的 continue 语句
            }
            System.out.println("当前 i 的值:" + i);
        }
        System.out.println("循环结束");
    }
}
程序运行结果如下:

当前 i 的值:1
当前 i 的值:2
遇到 i 等于 3,跳过本次循环
当前 i 的值:4
当前 i 的值:5
循环结束

在这个示例中,使用 for 循环从 1 到 5 遍历整数 i。当 i 等于 3 时,程序遇到了 continue 语句,会直接跳过本次循环中的后续代码,并继续下一次循环。因此,输出“遇到 i 等于 3,跳过本次循环”,然后继续执行后续的循环输出。

【实例 4】带标签的 continue 语句。
public class LabeledContinueExample {
    public static void main(String[] args) {
        outerLoop:
        for (int i = 1; i <= 3; i++) {
            innerLoop:
            for (int j = 1; j <= 3; j++) {
                if (i == 2 && j == 2) {
                    System.out.println("遇到 i 和 j 同时等于 2,跳过内层循环");
                    continue innerLoop; // 带标签的 continue 语句
                }
                System.out.println("当前 i 的值:" + i + ", 当前 j 的值:" + j);
            }
        }
        System.out.println("外层循环结束");
    }
}
程序运行结果如下:

当前 i 的值:1,当前 j 的值:1
当前 i 的值:1,当前 j 的值:2
当前 i 的值:1,当前 j 的值:3
当前 i 的值:2,当前 j 的值:1
遇到 i 和 j 同时等于 2,跳过内层循环
当前 i 的值:2,当前 j 的值:3
当前 i 的值:3,当前 j 的值:1
当前 i 的值:3,当前 j 的值:2
当前 i 的值:3,当前 j 的值:3
外层循环结束

在这个示例中,有一个外层循环和一个内层循环,并使用 outerLoop 和 innerLoop 作为标签。当内层循环遍历到 i 和 j 同时等于 2 时,程序遇到了带有标签 innerLoop 的 continue 语句,导致内层循环跳过本次循环的后续代码,直接进入下一次循环。因此,输出“遇到 i 和 j 同时等于 2,跳过内层循环”,然后继续外层循环的执行

相关文章