do-while循环保证循环体至少执行一次,因其采用“先执行后判断”机制:首次无条件执行循环体,之后才检查while后的布尔表达式,为true则继续,false则退出。

do-while 循环天然保证循环体至少执行一次,因为它把条件判断放在循环体的末尾。
执行顺序决定“先做后判”
与 while 和 for 不同,do-while 的结构是:先无条件执行一次循环体,再检查 while 后的布尔表达式。只有表达式为 true 时,才继续下一轮;若为 false,则直接退出,不再执行第二次。
- 第一次进入:不看条件,直接运行大括号内的代码
- 第一次结束后:计算 while(…) 中的表达式
- 表达式为 true → 回到开头再次执行;为 false → 跳出循环
一个直观的例子
下面代码会输出 "Hello" 一次,即使条件一开始就是 false:
int i = 0;
do {
System.out.println("Hello");
} while (i > 10); // 条件为 false
输出结果只有 1 行 Hello。这说明:循环体没被跳过,条件只影响是否重复,不影响首次执行。
当用户要求为 Java 代码添加注释、修改注释、审查注释、整理注释格式,或要求按照代码注释规范处理 Java 文件时,使用本技能。本技能用于统一生成和维护 Java 类注释模板、按 Git 对比 release 判断版本号、补充每行代码上方中文块注释、调整注释空行规则,并保持 Java 文件 UTF-8 无 BOM 编码。典型触发场景包括:补充类注释、更新 @version、检查 @author 来源、整理行尾注释、把注释放到代码上一行、检查注释是否符合规范、构建前检查 Java 注释风格。
常见用途:用户输入校验
需要“至少提示一次、直到输入合法为止”的场景特别适合 do-while:
- 比如要求用户输入 1~100 的数字,先显示提示,再读取并验证
- 即使用户第一次就输错,程序也已完成一次交互,不会因初始值未定义而跳过
- 避免 while 循环中为绕过条件检查而重复写提示语句
注意边界:空循环体也执行一次
哪怕循环体内什么也不写,它仍会执行一次判断前的“空操作”:
int x = 5;
do {
// 空语句
} while (x == 0);
// 这里 x 仍是 5,但循环体确实被执行了一次(只是没效果)
所以“保证执行一次”的本质是语法层面的强制行为,和循环体内容是否有效无关。
Java免费学习笔记:立即使用
解锁 Java 大师之旅:从入门到精通的终极指南










