do-while循环是先执行后判断的后测试循环,至少执行一次;语法为do{...}while(布尔表达式);,while后必须有分号;适用于用户输入验证等需至少执行一次的场景。

do-while 循环是 Java 中的一种后测试循环,特点是先执行一次循环体,再判断条件是否成立,因此它至少会运行一次。
基本语法结构
格式如下:
do {
// 循环体(要重复执行的代码)
} while (布尔表达式);
</font>
<p>注意:<strong>while 后面必须有分号</strong>,这是 do-while 和 while、for 的明显区别。</p>
<H3>和 while 循环的关键区别</H3>
<p>while 是“先判断、后执行”,条件不满足时可能一次都不运行;do-while 是“先执行、后判断”,哪怕条件一开始为 false,循环体也会执行一次。</p><div class="aritcle_card flexRow">
<div class="artcardd flexRow">
<a class="aritcle_card_img" href="/xiazai/skill11083" title="Java调试"><img
src="https://img.php.cn/upload/skill/001/246/273/6adaf20dbae7c507.jpg" alt="Java调试" ></a>
<div class="aritcle_card_info flexColumn">
<a href="/xiazai/skill11083" title="Java调试">Java调试</a>
<p>通过 JDWP 实现 Java 远程调试:连接远程 JVM、设置断点、单步执行代码、查看变量值、获取调用栈。适用于需要调试远程 Java 应用、排查运行时状态、追踪代码执行流程的场景。
术语注解
JDWP:Java Debug Wire Protocol,Java 调试有线协议(Java 远程调试底层通信协议)
remote JVM:远程 Java 虚拟机
step through code:代码单步调试(步入 / 步过 / 步出调试)
inspect variables:变量查看 / 变量检视
stac</p>
</div>
<a href="/xiazai/skill11083" title="Java调试" class="aritcle_card_btn flexRow flexcenter"><b></b><span>下载</span> </a>
</div>
</div><p><span>立即学习</span>“<a href="https://pan.quark.cn/s/c1c2c2ed740f" style="text-decoration: underline !important; color: blue; font-weight: bolder;" rel="nofollow" target="_blank">Java免费学习笔记(深入)</a>”;</p>
<p>例如用户输入验证场景:</p>
<font face="Courier New">
<pre class="brush:php;toolbar:false;">
Scanner sc = new Scanner(System.in);
int age;
do {
System.out.print("请输入年龄(1-120):");
age = sc.nextInt();
} while (age < 1 || age > 120);
这段代码保证用户至少被提示并输入一次,之后才检查合法性。
使用时要注意的细节
- 循环变量通常在循环体内初始化或更新,避免死循环
- 布尔表达式必须最终能变为 false,否则会无限执行
- 如果循环体只有一条语句,仍建议保留花括号,提高可读性和安全性
- 不能在 while() 括号里声明变量(如
while(int i = 0; i ),这是 for 循环的写法,do-while 不支持
适用典型场景
适合那些业务逻辑要求至少执行一次的情况:
- 菜单选择(显示菜单 → 等待用户输入 → 判断是否退出)
- 数据输入校验(先让用户输,再检查格式/范围)
- 游戏重玩机制(先玩一局,再问“是否再来?”)

















