do-while循环至少执行一次,因其先执行循环体再判断条件;而while循环先判断后执行,条件为假时一次也不执行;典型应用包括用户登录、文件首行读取等必须首次触发的场景。

do-while 循环能保证循环体至少执行一次,根本原因在于它的执行顺序:先无条件执行循环体,再判断 while 后的条件表达式。无论条件初始值是 true 还是 false,第一轮循环体都会运行。
执行机制决定“必走一遍”
与 while 循环“先判后做”不同,do-while 是“先做后判”:
- 程序进入 do-while 结构后,直接执行大括号内的全部语句(即循环体)
- 执行完循环体后,才计算 while 后面括号中的布尔表达式
- 若表达式为 true,则回到 do 处再次执行;若为 false,循环立即结束
对比 while 循环更直观
假设变量 flag = false:
在 Java 中初始化和管理阿里云 SDK客户端。包括单例模式、线程安全、endpoint 与 region 配置、VPC 终端节点、同步与异步等。
- while(flag) { ... }:条件一检查就为 false,循环体完全不执行
- do { ... } while(flag);:先执行一遍循环体,再检查 flag,此时已执行过一次
典型应用场景就是依赖“首次必触发”
这些逻辑天然要求不能跳过第一次尝试:
- 用户登录:必须先提示输入账号密码,再校验对错
- 文件首行读取:必须先调用
readLine(),再判断是否为 null - 网络连接:第一次 connect() 调用不可省略,成功则退出,失败再重试
- 数字位数统计:输入 0 时,while 循环会跳过,do-while 可确保计数加 1
写法上要注意两个关键点
避免因语法或逻辑疏忽破坏“至少一次”的特性:
- while 后必须带分号,漏掉会导致编译错误
- 条件表达式里不要写赋值操作(如
while(i = i - 1)),否则可能造成死循环或误判 - 控制变量建议显式初始化(如
int input = -1;),防止未定义行为影响首次判断
Java免费学习笔记:立即使用
解锁 Java 大师之旅:从入门到精通的终极指南










