while先判断后执行,循环体可能执行0次;do-while先执行后判断,循环体至少执行1次;语法上while为“while(条件){}”,do-while为“do{}while(条件);”。

核心区别就一句话:while是先判断再执行,do-while是先执行再判断。
执行顺序不同
while循环每次进入前都检查条件,为true才运行循环体;如果一开始条件就是false,整个循环体一次都不会跑。
do-while则不管条件真假,先完整执行一遍循环体,之后才去判断条件,满足才继续下一轮。
最少执行次数不同
这是最直观的差异表现:
- while循环的循环体可能执行0次
- do-while循环的循环体至少执行1次
语法写法不同
结构上一眼可辨:
立即学习“Java免费学习笔记(深入)”;
- while: while (条件) { ... }
- do-while:do { ... } while (条件);(注意末尾有分号)
适用场景有侧重
选哪个,关键看逻辑是否要求“必须先干一次”:
- 需要用户输入、菜单选择、密码重试这类交互流程,用do-while更自然——总得先显示一次菜单或提示一次输入
- 遍历集合、处理文件流、等待某个状态就绪等场景,用while更稳妥——条件不满足时直接跳过,避免无效操作










