break用于彻底跳出当前循环,单层直接退出,嵌套时默认仅跳出内层,可加标签跳出指定外层;continue跳过本次循环剩余语句,直接进入下一次迭代。

Java 中循环的中断与继续主要靠 break 和 continue 两个关键字实现,它们作用不同、适用场景明确,用错容易引发逻辑错误。
break:彻底跳出当前循环
遇到 break,循环立即终止,程序跳转到循环体之后的第一条语句执行。它可用于 for、while、do-while,也常配合 switch 使用。
- 单层循环中,break 直接退出该循环
- 嵌套循环中,默认只跳出最内层循环;如需跳出外层,可使用带标签的 break
示例(带标签 break):
outer: for (int i = 0; i <p>输出:<code>0,0 0,1 0,2 1,0 </code> —— 遇到 <code>i==1 && j==1</code> 时直接跳出整个外层循环。</p> <h3>continue:跳过本次循环剩余部分,进入下一次迭代</h3> <p><strong>continue</strong> 不终止整个循环,而是结束当前这一次循环体的执行,直接判断循环条件,决定是否开始下一轮。</p><div class="aritcle_card flexRow artxards"> <div class="artcardd flexRow"> <a class="aritcle_card_img" rel="nofollow" href="/xiazai/gongju/2847" title="OpenJDK 24"><img src="https://img.php.cn/upload/manual/001/431/639/6acf4227f079d889.png" alt="OpenJDK 24" onerror="this.onerror='';this.src='/static/lhimages/moren/morentu.png'" ></a> <div class="aritcle_card_info flexColumn"> <a rel="nofollow" href="/xiazai/gongju/2847" title="OpenJDK 24" class="overflowclass">OpenJDK 24</a> <p class="overflowclass">OpenJDK 24 Windows x64 官方参考实现(24+36),适合 Windows 环境进行 Java 开发、编译、运行和版本兼容性验证。</p> </div> <a rel="nofollow" href="/xiazai/gongju/2847" title="OpenJDK 24" class="aritcle_card_btn flexRow flexcenter"><b></b><span>下载</span> </a> </div> </div>
- 在
for循环中,执行 continue 后会先运行「迭代语句」(如i++),再判断条件 - 在
while或do-while中,continue 直接跳回条件判断处
示例(过滤偶数):
for (int i = 1; i <h3>break 与 continue 的常见误用提醒</h3> <p>二者不能用在循环或 switch 之外的普通代码块中,否则编译报错。</p>
- 不要把 continue 误当 break 用——比如想退出整个循环却写了 continue,会导致无限循环
- 嵌套循环中慎用无标签的 break/continue,容易混淆作用范围
- 在 while(true) 里依赖 break 跳出时,确保 break 条件一定能被满足,避免死循环
替代方案:用布尔标志控制循环流程
当逻辑较复杂、break/continue 不够清晰时,可用布尔变量提升可读性:
boolean found = false; for (int i = 0; i <p>这种方式更易调试、便于扩展条件,适合多人协作或后续维护。</p>
Java免费学习笔记:立即使用
解锁 Java 大师之旅:从入门到精通的终极指南










