do-while循环是java中唯一先执行后判断的循环结构,循环体至少执行一次,适用于用户输入校验、菜单选择等场景;语法为do{...}while(条件);,注意分号不可省略。

do-while 循环是 Java 中唯一一种先执行、后判断的循环结构,适合需要至少执行一次的场景,比如用户输入校验、菜单选择等。
do-while 的基本语法和执行逻辑
它和 while 循环的区别在于:条件判断放在循环体末尾,所以循环体内的代码一定会执行至少一次。
语法格式如下:
do {
// 循环体(至少执行一次)
} while (布尔表达式); // 注意这里的分号不能省略
执行流程:先运行大括号内的语句 → 再计算 while 后面的条件 → 若为 true,继续下一轮;若为 false,退出循环。
典型使用场景:用户输入验证
比如要求用户输入一个 1–100 之间的整数,输错就重试,但必须让用户至少输一次。
import java.util.Scanner;
Scanner sc = new Scanner(System.in);
int num;
do {
System.out.print("请输入 1 到 100 之间的整数:");
num = sc.nextInt();
} while (num 100);
System.out.println("输入有效:" + num);
这个例子中,即使第一次就输对了,程序也只执行一次;如果输错,会继续提示——这正是 do-while 的自然优势。
注意事项和常见陷阱
- 分号不能漏:while(条件) 后必须有分号,否则编译报错
- 变量作用域:循环体内声明的变量,在 while 条件中不可见,建议在 do 前声明所需变量(如上面的 int num)
- 避免死循环:确保循环体内有修改条件变量的操作,否则可能无限执行
- 慎用 break/continue:在 do-while 中可用,但 continue 会跳过条件判断直接进入下一轮,容易引发逻辑混乱,建议优先靠条件控制流程
与 while 和 for 的简单对比
三者核心区别不在功能强弱,而在适用习惯:
- for:适合已知循环次数或用计数器控制的场景(如遍历数组)
- while:适合“满足条件才开始执行”的场景(如读取文件直到 EOF)
- do-while:适合“无论如何先干一次,再看要不要继续”的场景(如菜单系统、密码重试)
Java免费学习笔记:立即使用
解锁 Java 大师之旅:从入门到精通的终极指南











