do-while循环是Java中唯一先执行后判断的循环结构,保证循环体至少执行一次;其语法为do{...}while(布尔表达式);,适用于用户输入验证、菜单选择等必须先尝试的场景。

do-while 循环是 Java 中唯一一种先执行、后判断的循环结构,它天然保证循环体至少执行一次——因为条件判断放在循环末尾。
do-while 的基本语法和执行逻辑
语法格式如下:
do {
// 循环体(至少执行一次)
} while (布尔表达式);
执行过程:先无条件执行一次循环体,然后计算 while 后的布尔表达式;若为 true,继续执行循环体;若为 false,退出循环。
典型使用场景:需要“先做再问”的交互操作
比如用户输入验证、菜单选择、密码重试等——必须让用户至少操作一次,再根据结果决定是否重复。
在 Java 中初始化和管理阿里云 SDK客户端。包括单例模式、线程安全、endpoint 与 region 配置、VPC 终端节点、同步与异步等。
立即学习“Java免费学习笔记(深入)”;
- 用户输入一个 1–100 之间的整数,输入错误就重新提示
- 显示菜单后等待用户选择,选错则重新显示
- 登录时允许最多 3 次尝试,但至少要输入一次账号密码
对比 while 和 for:突出 do-while 的不可替代性
while 和 for 都是“先判断、后执行”,如果初始条件不满足,循环体一次都不会运行。而 do-while 不依赖初始状态,适合处理“必须先尝试”的逻辑。
-
while 示例(可能零次):
while (score < 60) { score = getScore(); }—— 若初始 score ≥ 60,循环体完全跳过 -
do-while 示例(至少一次):
do { score = getScore(); } while (score < 60);—— 用户一定被要求输入一次,再检查是否合格
注意事项与常见陷阱
写 do-while 时容易忽略分号,导致编译错误;也容易混淆 while 后的条件逻辑。
- while 后面的括号外必须有分号 ;,缺了会报错
- 条件表达式应反映“是否需要再次执行”,而不是“是否已满足目标”(例如用
score < 60表示“不合格就重输”,而非score >= 60) - 循环体内务必修改影响条件的变量,否则可能陷入死循环

















