重学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表达式使用。代码更加简洁,可以与其他新特性配合使用,以最简洁的形式完成复杂操作。但需要注意,使用该方式时,returnbreak不能像前两种方式那样达到同样的目的。

代码测试

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、公众号我将分享我最近学习的内容、踩过的坑以及自己对技术的理解。

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

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

相关推荐
ldj202010 分钟前
SpringBoot为什么使用new RuntimeException() 来获取调用栈?
java·spring boot·后端
超龄超能程序猿11 分钟前
Spring 应用中 Swagger 2.0 迁移 OpenAPI 3.0 详解:配置、注解与实践
java·spring boot·后端·spring·spring cloud
风象南23 分钟前
SpringBoot配置属性热更新的轻量级实现
java·spring boot·后端
洛阳泰山24 分钟前
Spring Boot 整合 Nacos 实战教程:服务注册发现与配置中心详解
java·spring boot·后端·nacos
Y40900124 分钟前
C语言转Java语言,相同与相异之处
java·c语言·开发语言·笔记
YuTaoShao25 分钟前
【LeetCode 热题 100】994. 腐烂的橘子——BFS
java·linux·算法·leetcode·宽度优先
布朗克16825 分钟前
java常见的jvm内存分析工具
java·jvm·数据库
都叫我大帅哥1 小时前
深入浅出 Resilience4j:Java 微服务的“免疫系统”实战指南
java·spring cloud
Cao_Shixin攻城狮4 小时前
Flutter运行Android项目时显示java版本不兼容(Unsupported class file major version 65)的处理
android·java·flutter
Dcs6 小时前
还在用 Arrays.hashCode?Java 自己也能写出更快的版本!
java