You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Java的for循环中定义无限循环条件?

使用for循环实现持续输入直到10的倍数的方案

你当前的代码已经能实现需求,不过可以做一些优化让代码更简洁清晰:

现有代码分析

你写的这段逻辑是可行的:

Scanner sc = new Scanner(System.in);

int n;

for(int i = 1;true;i++) {
  n = sc.nextInt();
  if (n % 10 == 0) {
    break;
  }
}
System.out.println("Wake up to reality !");

这里用true作为循环条件,会让for循环持续执行,直到输入数字是10的倍数时触发break终止循环。但循环变量i在这里没有实际用途,完全可以省略。

优化后的写法

Java里标准的无限for循环写法是省略所有循环表达式,语义更明确:

Scanner sc = new Scanner(System.in);
int n;

// 无限for循环,省略初始化、条件、增量表达式
for (;;) {
    System.out.print("请输入数字(输入10的倍数结束):");
    n = sc.nextInt();
    if (n % 10 == 0) {
        break;
    }
}
sc.close(); // 关闭Scanner避免资源泄漏
System.out.println("Wake up to reality !");

这种写法直接表明这是一个无终止条件的循环,完全依赖内部逻辑触发break结束。另外添加了输入提示,能提升用户体验,最后加上sc.close()可以避免资源泄漏问题。

内容的提问来源于stack exchange,提问作者Sanskar Kumar

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.13 09:20:55