continue用于跳过当前循环剩余代码并进入下一次迭代,仅限循环体内使用;for中先执行迭代语句再判断条件,while/do-while则直接判断条件;与break彻底跳出不同,continue仅跳过本次循环;带标签可指定外层循环的下一次迭代。

continue 用于跳过当前循环体中剩余的代码,直接进入下一次迭代。
作用范围:只能用在循环内部
它必须出现在 for、while 或 do-while 循环体内,不能单独出现在方法或条件语句中。否则编译会报错。
- 在
for循环中,执行continue后,先运行「迭代语句」(如i++),再判断循环条件 - 在
while和do-while中,执行continue后直接跳到「循环条件判断」处
和 break 的区别要分清
break 是彻底跳出整个循环;continue 只是跳过本次循环剩下的部分,仍会继续下一轮。
- 例如遍历数组时,遇到负数就跳过处理,但不中断后续元素
- 写错成
break就会导致循环提前结束,逻辑出错
带标签的 continue(解决嵌套循环中的跳转)
当有多个循环嵌套时,普通 continue 只影响最内层循环。加标签可以指定跳到哪一层的下一次迭代:
立即学习“Java免费学习笔记(深入)”;
outer: for (int i = 0; i < 3; i++) {
for (int j = 0; j < 3; j++) {
if (i == 1 && j == 1) {
continue outer; // 跳到外层循环的下一次 i++
}
System.out.println(i + "," + j);
}
}
输出结果跳过了 i=1 这一轮的所有 j 值,即不会打印 1,0、1,1、1,2。
常见误用提醒
容易忽略的是:continue 不会跳过循环的「条件判断」或「迭代更新」,它只跳过循环体内的语句。
- 别以为
continue会让for循环跳过i++—— 实际上它会执行 - 在
while中,如果变量更新写在continue后面,那这行就永远不会执行,可能造成死循环 - 建议把变量更新逻辑放在循环开头或确保在
continue前完成


















