写代码时遇到要重复执行的任务,比如批量处理100个订单、逐行读取日志文件、或者让游戏角色连续跳跃三次——这时候,靠手敲100遍相同逻辑肯定不行,得靠循环控制。
最常用的三种循环结构
不管你是刚学Python,还是正在调试Java后端,或者写C语言单片机程序,基本都绕不开这三类循环控制方式:
1. for 循环:适合已知次数的场景
比如打印1到5的数字,或者遍历一个列表。它清晰、简洁,一目了然:
for i in range(1, 6):
print(f"第{i}次执行")在JavaScript里也差不多:
for (let i = 0; i < 5; i++) {
console.log(`第${i + 1}次执行`);
}2. while 循环:条件满足就一直跑
不像for那样预设次数,while更“看脸”——只要括号里的条件为真(true),就继续执行。常见于用户输入校验、网络重试、传感器持续读数等不确定结束时间的场合:
password = ""
while password != "123456":
password = input("请输入密码:")
print("登录成功!")3. do-while(或类似变体):先干再说,至少跑一次
这个在C、Java、JavaScript中叫do-while,在Python里没原生支持,但可以用while True + break模拟。它的特点是:不管条件成不成立,先执行一遍循环体,再判断要不要继续。比如做菜单系统,总得先显示一次选项:
do {
console.log("1. 查余额 2. 转账 3. 退出");
choice = prompt("请选择:");
} while (choice !== "3");还有些实用的“辅助键”
光有循环结构还不够,实际写代码时经常要中途跳转或提前收工:
break——立刻跳出整个循环,不带犹豫。比如在一堆商品中找第一个价格低于50元的,找到就停,不用继续翻。
continue——跳过本次循环剩下的代码,直接进入下一轮。像过滤掉空用户名、跳过损坏的日志行,就很顺手。
有些语言还支持带标签的break/continue(如Java),或者else子句(如Python的for...else),用对了能少写几层if嵌套。
选哪个?看场景说话
遍历数组、固定次数操作,优先用for;等待某个状态变化(比如服务器返回OK、按钮被点击),用while;需要确保至少执行一次的操作,考虑do-while或手动模拟;碰到异常数据或提前满足目标,break和continue就是你的快进键。
说白了,循环控制不是背语法,而是理清“我要重复什么”“什么时候该停”“中间要不要跳过”。写熟了,连自动备份脚本、爬虫去重、甚至家里的智能灯定时开关,都能自己搭出来。