核心结论是 while 循环属于编程语言里面的条件循环,标准写法是 while 后面写括号,括号里面放循环条件,条件成立也就是结果为真的时候,就反复执行大括号里面的循环体代码,一旦条件变成假,循环立刻停止,它和 for 循环最大区别是 while 没有内置的初始值 迭代更新写在头部,需要自己提前初始化变量,并且在循环体内手动修改条件变量,如果忘记更新变量,就会出现死循环,程序一直跑停不下来,这是初学者写 while 循环最常见的错误,主流编程语言比如 C 语言 Python Java 都支持 while 循环,只是语法符号有细微差别,核心逻辑全部一致。
之所以要学习 while 循环写法,是当我们提前不知道循环要执行多少次,只知道循环停止条件的时候,while 循环是最合适的选择,比如用户输入正确密码才退出循环,读取文件直到读到末尾,这类场景不适合固定次数的 for 循环,while 依靠布尔条件持续判断,灵活度更高,理解条件真假这个核心原理,就能看懂所有版本的 while 循环代码。
C 语言 while 循环写法
基础结构
while 括号 循环条件
大括号
循环体代码
示例代码
int i = 1
while i <= 10
printf i
i++
代码说明,先初始化 i 等于 1,每次判断 i 是否小于等于 10,满足就打印 i,然后 i 自增,当 i 变成 11,条件不成立,循环结束
Python while 循环写法
Python 没有大括号,依靠缩进划分循环体,写法更加简洁
基础结构
while 循环条件
缩进写循环体代码
示例代码
i = 1
while i <= 10
print i
i = i + 1
重点注意,Python 缩进错误会直接报错,循环体所有代码必须统一缩进层级
Java while 循环写法
写法和 C 语言几乎一致,需要分号规范,大括号包裹循环体
示例代码
int i = 1
while i <= 10
System out println i
i++
拓展 do while 循环写法
do while 是 while 循环的变种,特点是先执行一次循环体,之后再判断条件,也就是不管条件真假,至少执行一遍,普通 while 是先判断条件,条件不成立一次都不执行
C 语言 do while 示例
int i = 1
do
printf i
i++
while i <= 10
while 循环写法对照表
| 语言 | 是否大括号 | 是否需要缩进 | 核心特点 |
|---|---|---|---|
| C 语言 | 需要 | 不需要 | 先判断后执行 |
| Python | 不需要 | 必须缩进 | 先判断后执行 |
| Java | 需要 | 不需要 | 先判断后执行 |
| do while | 需要 | 不需要 | 先执行后判断,至少运行一次 |
写 while 循环写法可以按照固定步骤练习,第一步提前初始化条件变量,第二步在 while 括号内编写布尔判断条件,第三步编写循环体业务代码,第四步在循环体内增加变量更新语句,保证条件最终可以变成假,第五步运行测试,检查是否出现死循环,遇到需要至少执行一次的场景,改用 do while 写法。
【常见问题】
问题 1 while 循环写法里面什么是死循环
回答 1 while 循环写法里面,如果循环条件永远为真,循环体内没有代码修改条件变量,程序就会一直重复执行,这就是死循环,写 while 循环一定要记得更新判断变量。
问题 2 while 循环写法里面 while 和 for 循环什么时候优先选用
回答 2 while 循环写法适合循环次数不确定,只知道终止条件的场景,for 循环适合已经确定循环次数的场景,两者都可以实现重复执行,根据业务场景选择。
问题 3 while 循环写法里面 do while 和普通 while 差别是什么
回答 3 while 循环写法里面普通 while 是先判断条件,条件不成立循环体一次都不跑,do while 是先执行循环体,再判断条件,至少会执行一次循环代码。
问题 4 while 循环写法里面 Python 为什么不能加大括号
回答 4 while 循环写法里面 Python 语法设计是依靠缩进来识别代码块,不使用大括号,如果强行加大括号会触发语法报错,必须保持正确缩进。
【免责申明】
本内容为编程语法学习参考,不同版本编译器对 while 循环写法存在细微兼容差异,实际开发请结合对应语言官方文档,本内容不替代专业编程课程讲解。


