continue语句

continue 是循环结构(while/for)中的核心控制语句,作用是跳过当前循环迭代的剩余代码,直接回到循环条件判断处,开始下一次迭代(不会终止整个循环,仅跳过本次)。

一、核心特点

  1. 跳过本次,不终止循环 :与 break (直接终止整个循环)的核心区别;
  2. 仅作用于当前循环层 :嵌套循环中,continue 只影响所在的那一层循环;
  3. 执行逻辑 :遇到 continue → 立即跳出本次循环体剩余代码 → 执行循环的 "更新 / 判断" 步骤(如 while 的条件判断、for 的下一个元素遍历)。

二、基本用法(结合 while/for 示例)

示例 1:while 循环中使用 continue(跳过偶数,打印 1-10 的奇数)

python

运行

dart 复制代码
num = 0
while num < 10:
    num += 1  # 先递增,再判断
    if num % 2 == 0:  # 判定为偶数时
        continue      # 跳过后续的print,直接回到while条件判断
    print(num)  # 仅奇数会执行这行

执行流程拆解

  • num=1 → 不是偶数 → 打印 1;
  • num=2 → 是偶数 → 触发 continue → 跳过 print → 回到 while 条件(num<10 仍成立);
  • num=3 → 不是偶数 → 打印 3;
  • ...... 直到 num=10,循环结束。

输出

plaintext

复制代码
1
3
5
7
9
示例 2:for 循环中使用 continue(跳过列表中的特定元素)

python

运行

ini 复制代码
fruits = ["苹果", "香蕉", "榴莲", "橙子", "榴莲"]
for fruit in fruits:
    if fruit == "榴莲":  # 跳过"榴莲"
        continue
    print(f"我喜欢吃{fruit}")

输出

plaintext

复制代码
我喜欢吃苹果
我喜欢吃香蕉
我喜欢吃橙子

三、常见场景

场景 1:过滤无效数据(跳过空值 / 异常值)

python

运行

python 复制代码
# 遍历列表,仅打印非空的有效字符串
data = ["", "hello", None, "world", "  ", "python"]
for item in data:
    # 跳过空字符串、None、纯空格的元素
    if not item or item.strip() == "":
        continue
    print(f"有效数据:{item}")

输出

plaintext

复制代码
有效数据:hello
有效数据:world
有效数据:python
场景 2:嵌套循环中的 continue(仅影响内层循环)

python

运行

python 复制代码
# 打印1-3的乘法表,但跳过第二个数为2的情况
i = 1
while i <= 3:
    j = 1
    while j <= 3:
        if j == 2:
            j += 1  # 必须手动更新j,否则内层循环会卡死(continue后j一直为2)
            continue
        print(f"{i}×{j}={i*j}", end=" ")
        j += 1
    print()  # 换行
    i += 1

关键注意 :嵌套 while 中使用 continue 时,需手动更新循环变量(如上例的 j += 1),否则会因变量未更新导致死循环 (j 永远为 2,条件j<=3一直成立,且每次都触发 continue)。

输出

plaintext

ini 复制代码
1×1=1 1×3=3 
2×1=2 2×3=6 
3×1=3 3×3=9 

四、continue 与 break 的核心区别

语句 作用 循环后续状态
continue 跳过本次迭代剩余代码 继续下一次迭代(循环不终止)
break 直接终止整个循环 循环彻底结束

对比示例

python

运行

bash 复制代码
# continue版:跳过2,打印1、3、4
print("=== continue ===")
for i in 1,2,3,4:
    if i == 2:
        continue
    print(i)

# break版:遇到2直接终止,仅打印1
print("=== break ===")
for i in 1,2,3,4:
    if i == 2:
        break
    print(i)

输出

plaintext

ini 复制代码
=== continue ===
1
3
4
=== break ===
1

五、注意事项

  1. 避免死循环 :在 while 循环中使用 continue 时,务必确保循环变量(如 num/j)在 continue 前 / 后有更新逻辑,否则变量值不变,条件永远为真,导致死循环。❌ 错误示例(死循环):

    python

    运行

    dart 复制代码
    num = 1
    while num <= 5:
        if num == 3:
            continue  # 跳过后续的num+=1,num永远为3,循环永不结束
        print(num)
        num += 1

    ✅ 正确示例(先更新再判断):

    python

    运行

    dart 复制代码
    num = 0
    while num <= 5:
        num += 1
        if num == 3:
            continue
        print(num)  # 输出1、2、4、5、6
  2. 代码位置continue 后的代码永远不会执行(本次迭代),因此需将判断逻辑放在 continue 之前,避免无效代码。

  3. 其他语言的语法一致性 :Java/C/C++/JavaScript 中 continue 的逻辑与 Python 完全一致,仅语法格式差异(如大括号代替缩进):

    java

    运行

    ini 复制代码
    // Java示例:跳过偶数
    for (int i = 1; i <= 5; i++) {
        if (i % 2 == 0) {
            continue;
        }
        System.out.println(i); // 输出1、3、5
    }

总之,continue 的核心价值是 "精准过滤循环中的特定场景",让代码无需嵌套多层 if 即可实现条件性跳过,是简化循环逻辑的关键语句。

相关推荐
moxiaoran57531 小时前
Go语言并发处理
开发语言·后端·golang
Tony Bai1 小时前
AI 时代,Go 语言会“失宠”还是“封神”?—— GopherCon 2025 圆桌深度复盘
开发语言·人工智能·后端·golang
tc&1 小时前
新虚拟机安装 Go 环境:问题总结与解决方案
开发语言·后端·golang
橙子家11 小时前
WebAPI 项目通过 CI/CD 自动化部署到 Linux 服务器(docker-compose)
后端
钟离墨笺12 小时前
Go语言--2go基础-->基本数据类型
开发语言·前端·后端·golang
飞Link13 小时前
【Django】Django的静态文件相关配置与操作
后端·python·django
钟离墨笺14 小时前
Go语言--2go基础-->map
开发语言·后端·golang
Tony Bai15 小时前
Go 语言的“魔法”时刻:如何用 -toolexec 实现零侵入式自动插桩?
开发语言·后端·golang
qq_124987075316 小时前
基于小程序中医食谱推荐系统的设计(源码+论文+部署+安装)
java·spring boot·后端·微信小程序·小程序·毕业设计·计算机毕业设计
Marktowin17 小时前
SpringBoot项目的国际化流程
java·后端·springboot