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,跳过内层循环”,然后继续外层循环的执行