讲师中心 微信公众号

工具推荐

视频效率加速
Seko
Seko

AI短剧一键生成成片

剧云
剧云

中文短剧剧本制作平台

Laper
Laper

剧本策划到成片协作

updream

一键生成高质量推广成片

在Java中如何定义循环结构_Javaforwhile循环基础讲解

梦辰吖_9852

梦辰吖_9852

发布时间:2026-02-01 16:14:59

|

383人浏览过

|

来源于php中文网

原创

Java仅有for、while、do-while三种标准循环,无loop/repeat;for适用于已知次数或遍历,三部分用分号分隔;while先判后执,适合条件驱动;do-while先执后判,至少执行一次;增强for简化遍历但无法改集合或获索引。

在java中如何定义循环结构_javaforwhile循环基础讲解

Java 中只有 for、while 和 do-while 三种标准循环结构,不存在“loop”或“repeat”这类关键字;写错语法或混淆执行时机,是初学者最常卡住的地方。

for 循环:适合已知迭代次数或遍历集合

for 循环由初始化、条件判断、更新三部分组成,全部写在括号内,用分号分隔。最容易出错的是把分号写成逗号,或者在循环体里重复修改计数器导致死循环。

常见错误现象:for (int i = 0; i (逗号应为分号);<code>for (int i = 0; i (i 被加两次,跳过偶数)。

使用场景:

立即学习“Java免费学习笔记(深入)”;

  • 遍历数组:for (int i = 0; i
  • 倒序打印:for (int i = list.size() - 1; i >= 0; i--)
  • 嵌套循环控制行列:for (int row = 0; row

while 循环:适合条件驱动、次数不确定的场景

while 先判断后执行,如果初始条件不满足,循环体一次都不会运行。忘记在循环体内更新判断变量,会导致无限循环——这是调试时最常翻车的点。

JavaScript 测试模式
JavaScript 测试模式

使用 Jest、Vitest 和 Testing Library 实施全面的测试策略,包括单元测试、集成测试和端到端测试,涵盖模拟、测试夹具和测试驱动开发。在编

下载

典型误用:

int x = 5;
while (x > 0) {
    System.out.println(x);
    // 忘记写 x--;
}

适用情况:

  • 读取用户输入直到输入合法:while (!scanner.hasNextInt()) { ... }
  • 处理队列直到为空:while (!queue.isEmpty()) { process(queue.poll()); }
  • 轮询状态变化:while (status != READY) { checkStatus(); Thread.sleep(100); }

do-while 循环:保证至少执行一次

do-while 是唯一一个先执行、再判断的循环,结尾必须带分号。它天然适合“先做再问”的逻辑,比如菜单交互、密码重试。

容易忽略的细节:

  • 条件表达式写在 } 后面,不是括号里:do { ... } while (condition);
  • 条件中不能直接用未初始化变量:int input; do { input = scanner.nextInt(); } while (input != 0); 是安全的,但若把 input 声明放在 while 后就不合法
  • 和 while 性能无差异,只是语义不同;JVM 编译后字节码结构也基本一致

增强 for 循环(for-each):简化集合/数组遍历,但有局限

语法是 for (Type var : collection),底层调用 Iterator 或数组索引。它不能获取当前下标,也不能在遍历时删除元素(会抛 ConcurrentModificationException)。

不能用的场景:

  • 需要修改集合本身:for (String s : list) { list.remove(s); } → 错误
  • 需要知道索引位置:for (int i = 0; i 才合适
  • 遍历多个数组并行操作:for (int i = 0; i 无法用 for-each 替代

安全用法示例:

List<String> names = Arrays.asList("Alice", "Bob", "Charlie");
for (String name : names) {
    System.out.println(name.toUpperCase());
}

真正难的不是记住语法,而是判断该用哪个——关键看「是否需要下标」「是否确定执行次数」「是否允许零次执行」。很多人写完发现逻辑错,回头一看其实是选错了循环类型,而不是代码写错了。

热门AI工具

更多
PixPix
PixPix Hot

PixPix是一款面向电商视觉生产的AI商品图生成工具。

讯飞智作

讯飞智作是一款AI视频创作工具,AI文本配音工具,数字人课程、营销视频制作。

SkildArt
SkildArt Hot

SkildArt是一款AI文本写作工具,一站式 AI 视觉创作平台。

DeepSeek

DeepSeek是一款面向对话、写作、编程和推理场景的AI大模型工具。

WorkBuddy

一款AI办公效率工具,主要用于腾讯云推出的AI原生桌面智能体工作台,适合需要提升相关任务效率的用户。

UpDream
UpDream Hot

一款AI视频创作工具,主要用于哔哩哔哩推出的自研AI视频创作工具,适合需要提升相关任务效率的用户。

UP简历
UP简历 Hot

一款AI办公效率工具,主要用于基于AI技术的免费在线简历制作工具,适合需要提升相关任务效率的用户。

小橡皮AI

一款AI工具,主要用于小橡皮一键去AI味,将机器味重的内容改得更有活人感,防止因为 AI 内容被平台打上 AI 标签,以及限流,适合需要提升相关任务效率的用户。

豆包大模型

豆包大模型是一款由字节跳动推出的企业级大语言模型服务平台。

相关专题

更多
string转int
string转int

在编程中,我们经常会遇到需要将字符串(str)转换为整数(int)的情况。这可能是因为我们需要对字符串进行数值计算,或者需要将用户输入的字符串转换为整数进行处理。php中文网给大家带来了相关的教程以及文章,欢迎大家前来学习阅读。

7559

2023.08.02

while的用法
while的用法

while的用法是“while 条件: 代码块”,条件是一个表达式,当条件为真时,执行代码块,然后再次判断条件是否为真,如果为真则继续执行代码块,直到条件为假为止。本专题为大家提供while相关的文章、下载、课程内容,供大家免费下载体验。

354

2023.09.25

string转int
string转int

在编程中,我们经常会遇到需要将字符串(str)转换为整数(int)的情况。这可能是因为我们需要对字符串进行数值计算,或者需要将用户输入的字符串转换为整数进行处理。php中文网给大家带来了相关的教程以及文章,欢迎大家前来学习阅读。

7559

2023.08.02

int占多少字节
int占多少字节

int占4个字节,意味着一个int变量可以存储范围在-2,147,483,648到2,147,483,647之间的整数值,在某些情况下也可能是2个字节或8个字节,int是一种常用的数据类型,用于表示整数,需要根据具体情况选择合适的数据类型,以确保程序的正确性和性能。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

3585

2024.08.29

c++怎么把double转成int
c++怎么把double转成int

本专题整合了 c++ double相关教程,阅读专题下面的文章了解更多详细内容。

4728

2025.08.29

C++中int的含义
C++中int的含义

本专题整合了C++中int相关内容,阅读专题下面的文章了解更多详细内容。

3145

2025.08.29

length函数用法
length函数用法

length函数用于返回指定字符串的字符数或字节数。可以用于计算字符串的长度,以便在查询和处理字符串数据时进行操作和判断。 需要注意的是length函数计算的是字符串的字符数,而不是字节数。对于多字节字符集,一个字符可能由多个字节组成。因此,length函数在计算字符串长度时会将多字节字符作为一个字符来计算。更多关于length函数的用法,大家可以阅读本专题下面的文章。

2007

2023.09.19

Java 并发编程高级实践
Java 并发编程高级实践

本专题深入讲解 Java 在高并发开发中的核心技术,涵盖线程模型、Thread 与 Runnable、Lock 与 synchronized、原子类、并发容器、线程池(Executor 框架)、阻塞队列、并发工具类(CountDownLatch、Semaphore)、以及高并发系统设计中的关键策略。通过实战案例帮助学习者全面掌握构建高性能并发应用的工程能力。

603

2025.12.01

Go-Zero API开发使用教程
Go-Zero API开发使用教程

本专题聚焦Go-Zero的API开发,拆解.api描述文件的语法结构、路由与分组定义、参数绑定与校验规则,说明统一响应体、JWT鉴权、跨域与接口文档生成的落地方式,并给出网关聚合与接口测试的实践建议。

40

2026.11.12

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
dev.java 官方:Learn Java
dev.java 官方:Learn Java

共0课时 | 0人学习

Java JDBC数据库连接官方教程
Java JDBC数据库连接官方教程

共0课时 | 0人学习

关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn