continue语句跳过当前循环迭代的剩余代码,进入下一次迭代;作用于最近的for、while或do-while循环体内,常用于遍历中忽略不符合条件的元素。

continue 语句用于跳过当前循环体中剩余的代码,直接进入下一次循环迭代。它不终止整个循环,只“跳过本次”。关键在于明确它作用于最近的 for、while 或 do-while 循环,且必须写在循环体内。
在 for 循环中跳过特定元素
常见于遍历数组或集合时,忽略不符合条件的项,避免嵌套 if-else 拉长逻辑。
例如:打印 1 到 10 中所有偶数,跳过奇数:
for (int i = 1; i <= 10; i++) {
if (i % 2 != 0) {
continue; // 奇数直接跳过后续打印
}
System.out.println(i); // 只有偶数会执行到这里
}
// 输出:2 4 6 8 10
在 while 循环中提前进入下一轮判断
注意:while 中使用 continue 时,要确保循环变量更新逻辑不会被跳过,否则容易陷入死循环。
立即学习“Java免费学习笔记(深入)”;
正确做法是把更新语句放在 continue 前,或在 continue 后统一处理:
- 推荐方式:更新语句在 continue 前
- 错误方式:更新语句在 continue 后(将被跳过)
int i = 0;
while (i < 5) {
i++; // 先更新,再判断
if (i == 3) {
continue; // 跳过 i==3 的处理
}
System.out.print(i + " "); // 输出:1 2 4 5
}
配合标签跳出外层循环(带标签的 continue)
当有嵌套循环时,普通 continue 只影响内层。用带标签的 continue 可指定跳过哪一层的本次迭代。
语法:labelName: continue labelName;
outer:
for (int i = 1; i <= 3; i++) {
for (int j = 1; j <= 3; j++) {
if (i == 2 && j == 2) {
continue outer; // 跳过 outer 循环本轮,即跳过 i==2 的剩余所有 j
}
System.out.println("i=" + i + ", j=" + j);
}
}
// 输出不含 i=2 的任何组合(如 i=2,j=1 和 i=2,j=2,j=3 全部跳过)
和 break、return 的区别要分清
- continue:结束本次循环,继续下一次
- break:彻底跳出当前循环(或指定标签的循环)
- return:退出整个方法,循环自然终止
选哪个取决于目标:是跳过一个数据、跳出一层逻辑,还是直接收工。


















