在 Java 开发中,某些业务场景要求一段核心逻辑无论初始状态如何都必须先执行一次,最常见的就是用户登录校验。程序启动后应当先让用户输入凭证并完成一次校验,而不是先判断某个标志位再决定是否校验。do-while 循环的结构决定了它会先执行循环体,再判断继续条件,因此能稳妥地满足这种需求。

do-while 循环的基本语法
do-while 的写法是先写 do 包裹循环体,再在 while 后写条件。注意循环体末尾的分号不能漏。只要条件为 true,就会继续重复执行。
public class Demo {
public static void main(String[] args) {
int count = 0;
do {
System.out.println("执行第 " + count + " 次");
count++;
} while (count < 3);
}
}
用 do-while 实现登录校验至少一次
下面例子模拟控制台登录:先执行一次输入与校验,若账号密码不对则循环继续,直到输入正确才退出。即使一开始就把错误次数设为已满,首次校验依然会发生。
import java.util.Scanner;
public class LoginCheck {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
boolean loggedIn = false;
String user, pwd;
do {
// 至少执行一次的校验逻辑
System.out.print("请输入用户名: ");
user = sc.nextLine();
System.out.print("请输入密码: ");
pwd = sc.nextLine();
if ("admin".equals(user) && "123456".equals(pwd)) {
loggedIn = true;
System.out.println("登录成功");
} else {
System.out.println("用户名或密码错误,请重试");
}
} while (!loggedIn);
sc.close();
}
}
为什么不用 while
若改用 while 循环,需要将 loggedIn 初始设为 false 并在循环前先写一遍校验代码,否则就可能因条件直接为假而跳过。do-while 把校验放进循环体,避免了代码重复。
注意事项
- 循环体内要有改变条件的语句或输入,防止死循环。
- 校验失败时要给出清晰提示,提升体验。
- 涉及资源如 Scanner 应在结束后关闭。
小结
当业务逻辑要求特定处理如登录校验必须先行一次,do-while 是最直观的选择。它用先执行后判断的机制,帮开发者少写重复代码,也降低遗漏首次执行的风险。
Javado-while循环用户登录校验修改时间:2026-07-28 09:24:21