重学Java之for循环

Java提供了三种不同的for循环方式:

  • fori
  • foreach
  • Stream.foreach

fori

java 复制代码
for (int i = 0; i < arrayList.size(); i++) {
    // 执行操作
}

fori是Java最早的for循环形式。随着Java语法的不断改进以及JDK 8的推出,这种方式在实际企业开发中并不常见,大多出现在传统的大学教材中。如今,甚至阿里巴巴的代码检测插件也建议将fori形式转换为foreach形式。

foreach

java 复制代码
for (String s : arrayList) {
    // 执行操作
}

也称为增强for循环,是对fori的语法糖。在编译时,foreach会自动转换为fori的形式。

Stream.foreach

java 复制代码
arrayList.forEach(array -> {
    // 执行操作
});

这是在JDK 1.8之后引入的一种for循环方式,结合lambda表达式使用。代码更加简洁,可以与其他新特性配合使用,以最简洁的形式完成复杂操作。但需要注意,使用该方式时,return 和break不能像前两种方式那样达到同样的目的。

代码测试

java 复制代码
ArrayList<Integer> integers = Lists.newArrayList(1, 2, 3, 4, 5);
integers.forEach(i -> {
	if (i == 2) {
		System.out.println(i);
		return;
	}
	System.out.println("当前值" + i);
});

for (Integer i : integers) {
	if (i == 2) {
		System.out.println(i);
		continue;
	}
	System.out.println("当前值" + i);
}
}

在Stream.foreach中,无法使用break 关键字。然而,可以使用return来跳出当前循环。

后续内容文章持续更新中...

近期发布。


关于我

👋🏻你好,我是Debug.c。微信公众号:种棵代码技术树 的维护者,一个跨专业自学Java,对技术保持热爱的bug猿,同样也是在某二线城市打拼四年余的Java Coder。

🏆在掘金、CSDN、公众号我将分享我最近学习的内容、踩过的坑以及自己对技术的理解。

📞如果您对我感兴趣,请联系我。

若有收获,就点个赞吧,喜欢原图请私信我。

相关推荐
杨杨杨大侠1 小时前
都能接模型、RAG 和 MCP,Java Agent 框架到底差在哪?
java
Thinker QAQ2 小时前
并发编程(九):BlockingQueue 与 Channel——语言层的原子性、可见性与有序性
java·python·go·并发编程·channel·blockingqueue·message passing
霸道流氓气质3 小时前
RAG 可观测性与生产监控实战:四层遥测模型、五大仪表盘与 OpenTelemetry 全链路追踪的 Java 生产级实现
java·人工智能·python
AOI小白新手上路3 小时前
autodl常用的tar 打包下载(数据集)命令手册:逐段拆解与套用模板
java·大数据·数据库
dishugj5 小时前
系统架构风险点、敏感点和权衡点的概念和区分
java·开发语言
苜蓿muxu5 小时前
常用代码命名规范
java
马优晨6 小时前
JAVA 中 VO 实体类是什么意思,为什么要做这个
java·开发语言·状态模式·java vo·java vo是什么
Baron X6 小时前
Eclipse Temurin 21 (JRE) Alpine 镜像获取、离线导入与推送操作
java·docker·eclipse·temurin
孙浩君6 小时前
我用 Spring Boot + xterm.js 写了个终端风格互动叙事游戏引擎:游戏即文件,上传一个 JSON 就能玩
java