第五章——循环结构 第五节——continue在循环结构中的应用
1. continue 是什么?——「跳过当次的按钮」
想象你正在跳绳,突然手机响了。你不想停止运动,但也不想被打扰,于是按下“忽略”按钮,但是此时你又忘了这一组跳了多少,你索性直接不去管这一组剩下的内容,直接开始下一组的锻炼。
核心功能:continue 就是这样的“忽略键”,在循环中遇到特定条件时,跳过当前这一轮的剩余代码,直接进入下一轮循环。
2. 单层循环中的应用:快递员的包裹筛选
场景:快递员需要派送10个包裹,但编号为3和7的包裹是易碎品,需跳过检查,直接处理下一个。
1 | for(int 包裹编号 = 1; 包裹编号 <= 10; 包裹编号++) { |
输出:
1 | 检查包裹 1:正常。 |
总结:遇到特殊包裹就跳过检查,但整个派送流程继续执行。
3. 嵌套循环中的行为:超市收银员的扫码挑战
场景:超市收银员需要扫描20件商品,但第2排第3列的商品是赠品,需跳过计费,但继续扫描其他商品。
1 | for(int 排 = 1; 排 <= 4; 排++) { // 4排货架 |
输出:
1 | 扫描商品(1排1列) |
关键点:
continue只影响最近的一层循环(这里是内层列循环),外层循环不受影响。- 如果想跳出多层循环,需用标志变量或
goto(慎用)。
4. 与 break 的对比:快递取件的两种选择
| 场景 | 动作 | 代码实现 | 结果 |
|---|---|---|---|
| continue | 找到包裹后继续检查其他柜子 | continue |
继续扫描后续格子 |
| break | 找到包裹后直接回家 | break |
完全终止搜索流程 |
示例:
1 | for(int 柜子 = 'A'; 柜子 <= 'C'; 柜子++) { |
5. 注意事项:别踩这些坑!
只能在循环中使用:
如果写在if外单独使用,编译器会报错。1
2if(1)
continue; // ❌ 错误!continue 必须在循环体内避免“穿透效应”:
在switch中漏写continue会导致程序继续执行后续case多层循环需谨慎:
若想跳出多层循环,需用标志变量控制:1
2
3
4
5
6
7
8
9
10int 找到 = 0;
for(...) {
for(...) {
if(条件) {
找到 = 1;
continue; // 仅跳出内层循环
}
}
if(找到) break; // 再跳出外层循环
}
6. 总结:continue 的哲学
- 适用场景:
- 过滤无效数据(如跳过负数求和)。
- 简化逻辑(避免冗长的
if-else嵌套)。
- 记忆口诀:
「continue 是跳过键,一层循环跳一层;多层需靠标志位,别在 if 乱跳圈!」
就像人生选择——该跳过时就跳过,别纠结!(亓翎你怎么老是写这些奇奇怪怪的)
- 标题: 第五章——循环结构 第五节——continue在循环结构中的应用
- 作者: 亓翎_Re-Tikara
- 创建于 : 2026-02-07 02:21:28
- 更新于 : 2026-02-10 02:48:46
- 链接: https://re-tikara.fun/Blog/posts/5c3071d8/
- 版权声明: 本文章采用 CC BY-NC-SA 4.0 进行许可。