Java有for、while、do-while和增强for四种循环;for适用于已知次数的计数型任务,结构紧凑且变量作用域清晰;while适用于条件驱动的不确定次数场景,需手动管理初始化与更新;do-while至少执行一次,适合先操作后判断的场景。

循环语句是让一段代码重复执行的结构,核心在于“条件控制 + 重复动作”。Java 中主要有 for、while 和 do-while 三种基本循环,增强 for(foreach)专用于遍历容器。
for 循环适合已知次数或范围的场景
它把初始化、判断、更新三部分写在一行,结构紧凑,变量作用域清晰:
- 初始化语句只执行一次,通常定义并赋值循环变量(如
int i = 0) - 条件判断在每次循环开始前检查,为 false 则直接退出
- 更新语句在每次循环体执行完后运行(如
i++),控制变量变化 - 循环变量默认只在 for 括号内有效,结束后不可访问
while 循环适合条件驱动、次数不确定的情况
它只关注“是否继续”,不自带初始化和更新逻辑,更灵活但也更依赖手动管理:
- 先判断条件,为 true 才执行循环体;条件一开始就是 false 就一次也不执行
- 初始化和变量更新需写在循环外部或内部,容易遗漏导致死循环
- 循环变量定义在 while 外,循环结束后仍可使用
- 常见于读取用户输入、等待某个状态就绪、处理动态数据流等场景
for 和 while 在功能上可以互相替代,但语义重点不同
比如打印 5 次 “Hello”:
立即学习“Java免费学习笔记(深入)”;
- 用 for:强调“做 5 次”,次数明确,逻辑集中
- 用 while:强调“只要没到 5 次就继续”,更侧重状态延续性
- 实际选择看代码意图——是“计数型任务”还是“条件型任务”
别忘了 do-while 的特殊用途
它至少执行一次循环体,适用于必须先操作再判断的场景:
- 菜单交互:先显示选项,再判断用户选了什么
- 输入校验:先让用户输,再检查是否合法
- 和 while 相比,条件判断移到末尾,语法多一个分号










