主题
  • 默认模式
  • 浅蓝色模式
  • 淡绿色模式
  • 深夜模式

Java break 语句

在使用循环时,有时希望跳过循环内的某些语句或立即终止循环而不检查测试表达式。

针对这种情况,我们可以使用break语句来立即终止当前循环,并将程序控制权转移到循环结构之后的下一条语句。

break 是一种控制流语句,它只能在 for 循环while 循环、do...while 循环switch 语句内部使用。

Java break 语句的工作流程图


Java break 实例

下面的示例程序演示了for循环中使用break语句的示例:

java
复制
/**
 * 循环控制示例类
 * 该类演示在for循环中使用break语句提前终止循环的执行流程
 * 当循环变量i等于特定值(5)时,立即退出整个循环结构
**/
public class LoopControlExample {
    public static void main(String[] args) {
        // for循环:初始化i=1,条件i<=10,步进i++
        for (int i = 1; i <= 10; ++i) {

            //如果i的值为5,则循环终止
            if (i == 5) {
                break;
            }
            System.out.println(i);
        }
    }
}

执行程序后的输出结果:

1
2
3
4

在上面的示例中,我们使用for循环来打印每次迭代中i的值。当i等于5的时候,执行了break语句,跳出了for循环。


Java 嵌套循环 break 用法

在 Java 嵌套循环中,使用break语句只能跳出当前所在的最近一层循环结构,而无法直接跳出所有外层循环。外层的循环会继续执行其后续的迭代。下面是使用嵌套循环的break语句的工作流程图:

Java 使用嵌套循环的 break 语句流程图

嵌套循环 break 语句实例

下面的示例程序演示了在嵌套循环中使用break语句的示例:

java
复制
/**
 * 嵌套循环控制示例类
 * 该类演示在嵌套for循环中使用break语句终止内层循环的执行流程
 * 当内层循环变量j等于特定值(2)时,立即退出内层循环,继续执行外层循环的下一次迭代
**/
public class NestedLoopExample {
    public static void main(String[] args) {

         System.out.println("=== 基本嵌套循环 ===");
         for (int i = 1; i <= 3; i++) {
             for (int j = 1; j <= 3; j++) {
                 System.out.println("外层 i = " + i + ", 内层 j = " + j);
                 // 添加break语句:当j等于2时退出内层循环
                 if (j == 2) {
                     System.out.println("  检测到 j=2,退出内层循环");
                     break;
                 }
             }
             System.out.println("--- 外层循环第 " + i + " 次结束 ---");
         }
    }
}

执行程序后的输出结果:

=== 基本嵌套循环 ===
外层 i = 1, 内层 j = 1
外层 i = 1, 内层 j = 2
  检测到 j=2,退出内层循环
--- 外层循环第 1 次结束 ---
外层 i = 2, 内层 j = 1
外层 i = 2, 内层 j = 2
  检测到 j=2,退出内层循环
--- 外层循环第 2 次结束 ---
外层 i = 3, 内层 j = 1
外层 i = 3, 内层 j = 2
  检测到 j=2,退出内层循环
--- 外层循环第 3 次结束 ---

在上面的示例中,执行流程说明:

  • 外层循环变量i从1开始,逐次递增直到3。
  • 对于每次外层循环迭代,内层循环变量j也从1开始,逐次递增直到3。
  • 在内层循环中,当j等于2时,触发了break语句,立即退出了内层循环。
  • 退出内层循环后,程序继续执行外层循环的下一次迭代。
  • 因此,每次外层循环迭代中,内层循环只打印了j=1的值,然后因为break语句而退出。
  • 最终输出显示了每次外层循环迭代的结果,以及检测到j=2时退出内层循环的提示。

带标签的 break 语句

目前我们使用的都是无标签的break语句,它可以终止最内层的循环或switch语句。而在 Java 中,还存在另一种形式的break语句——带标签的 break(labeled break)。使用带标签的break语句,我们可以直接跳出最外层循环。

Java 带标签的 break 语句流程图

带标签的 break 语句实例

下面的示例程序演示了在嵌套循环中使用带标签的break语句的示例:

java
复制
/**
 * 带标签的循环控制示例类
 * 该类演示在嵌套for循环中使用带标签的break语句提前终止外层循环的执行流程
 * 当内层循环变量j等于特定值(2)时,立即退出整个外层循环结构
**/
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++) {
                System.out.println("i = " + i + ", j = " + j);

                // 当满足某个条件时,直接跳出外层循环
                if (i == 2 && j == 2) {
                    System.out.println("触发带标签的break,终止外层循环");
                    break outerLoop; // 直接跳出外层循环
                }
            }
        }

        System.out.println("程序继续执行...");
    }
}

执行程序后的输出结果:

i = 1, j = 1
i = 1, j = 2
i = 1, j = 3
i = 2, j = 1
i = 2, j = 2
触发带标签的break,终止外层循环
程序继续执行...

在上面的示例中,我们使用了两个嵌套的for循环,并为外层循环添加了标签outerLoop。当内层循环变量j等于2时,执行了带标签的break outerLoop语句,直接跳出了外层循环。



评论区 0
发表评论