do while 循环天然保底执行一次,因其先执行后判断;while 循环则可能零次执行,需预设条件值。

do while 循环天然就具备“保底执行一次”的特性,这是它和 while 循环最核心的区别:无论条件是否为真,循环体内的代码至少会执行一次。
为什么 do while 能保底执行
因为它的语法结构是先执行、后判断:
- 第一步:无条件执行一次循环体(即 do 后面的大括号内代码)
- 第二步:计算 while 后面的条件表达式
- 第三步:如果条件为 true,回到第一步继续执行;否则退出循环
基础写法示例
比如让用户输入一个正数,确保至少提示一次:
(注意:实际运行需配合 prompt 或其他输入方式)let num;
do {
num = Number(prompt("请输入一个正数:"));
} while (num <= 0);
即使用户第一次就输错(如输 -5 或 0),循环也会再提示一次;只有输入 > 0 的数才会退出——但不管怎样,提示语至少出现一次。
在 Java 中初始化和管理阿里云 SDK客户端。包括单例模式、线程安全、endpoint 与 region 配置、VPC 终端节点、同步与异步等。
立即学习“Java免费学习笔记(深入)”;
常见保底场景与写法要点
- 验证用户输入:适合需要强制用户做一次操作再校验的流程
- 初始化 + 检查重试:比如连接服务、读取配置,先试一次,失败再按策略重试
- 避免空循环:当循环逻辑本身有副作用(如生成随机数、修改状态),且不能跳过首次执行时
- 条件写在末尾:务必确认 while 后的括号里是“继续循环的条件”,不是“退出条件”(常见误区)
对比 while 循环看差异
同样需求用 while 写:
let num = -1; // 必须预先设一个不满足条件的值
while (num <= 0) {
num = Number(prompt("请输入一个正数:"));
}
这段代码逻辑等价,但多了预设初始值的负担,且如果初始值意外满足条件(比如 num = 5),循环直接跳过——无法保证执行一次。

















