行业资讯 2025年08月6日
0 收藏 0 点赞 187 浏览 2443 个字
摘要 :

文章目录 1. 普通 for 循环 1.1. 全部语句不为空 1.2. 全部语句为空 1.3. 初始化语句为空 1.4. 条件语句为空 1.5. 迭代语句为空 2. 增强 for 循环 3. Lambda 表达式 for……




  • 1. 普通 for 循环
  • 1.1. 全部语句不为空
  • 1.2. 全部语句为空
  • 1.3. 初始化语句为空
  • 1.4. 条件语句为空
  • 1.5. 迭代语句为空
  • 2. 增强 for 循环
  • 3. Lambda 表达式 for 循环

本文主要讲解关于Java 中 for 循环的三种方式详解相关内容,让我们来一起学习下吧!

1. 普通 for 循环

普通for循环语法格式如下所示:

for(初始化语句; 条件语句; 迭代语句) {
    循环体代码
}

 

语句 功能 举例
初始化语句 循环结构的初始部分,为循环变量赋初值 int i = 0
条件语句 循环结构的循环条件 i > 10
迭代语句 循环结构的迭代部分,通常使用++--运算符来修改循环变量的值 i ++

for关键字后面括号中的三个语句必须用;隔开。

for循环中,无论缺少哪部分语句,都可以在程序的其他位置补充,从而保持for循环的完整性,使循环正常执行。

如果循环体只有一行语句,那么循环体的大括号可以省略。这样虽然代码还是可以正常执行,不过为了程序的阅读准确性,建议还是加上。

一般选择循环变量时,习惯选择ijk来作为循环变量。

1.1. 全部语句不为空

List<String> list = Arrays.asList(\"aaa\", \"bbb\", \"ccc\", \"ddd\");

for (int i = 0; i < list.size(); i++) {
    System.out.println(list.get(i));
}

1.2. 全部语句为空

for循环中初始化、条件以及迭代部分都可以为空语句(但;不能省略),三者均为空的时候,相当于一个无限循环。等同于while(true){...}

for (;;) {
    System.out.println(\"aaa\");
}
//for 语句不能在未抛出异常的情况下完成
while (true){
    System.out.println(\"aaa\");
}
//while 语句不能在未抛出异常的情况下完成

1.3. 初始化语句为空

for循环中初始化语句为空时,初始化可以在程序的其他位置给出:

List<String> list = Arrays.asList(\"aaa\", \"bbb\", \"ccc\", \"ddd\");

//相当于for循环中的赋值语句
int i = 0;

for (; i < list.size(); i++) {
    System.out.println(list.get(i));
}

1.4. 条件语句为空

for循环中条件语句为空时,将没有循环的终止条件。此时for循环语句会认为条件语句的值总是为true,循环将无限执行下去。因此,为了使循环达到某种条件时退出,需要在语句块中进行逻辑判断,并使用break语句来跳出循环,否则将产生死循环。

List<String> list = Arrays.asList(\"aaa\", \"bbb\", \"ccc\", \"ddd\");

for (int i = 0; ; i++) {
    //终止循环的条件
    if (i == list.size()) {
        break;
    }
    System.out.println(list.get(i));
}

1.5. 迭代语句为空

for循环中迭代语句为空时,也就没有设置控制变量的表达式,即每次循环之后无法改变变量的值,此时也无法保证循环正常结束。所以需要在循环体中添加迭代语句。

List<String> list = Arrays.asList(\"aaa\", \"bbb\", \"ccc\", \"ddd\");

for (int i = 0; i < list.size(); ) {
    System.out.println(list.get(i));
    //迭代语句
    i++;
}

2. 增强 for 循环

增强for循环,也称为foreach循环,是一种简化版的循环语法。

在每次迭代中,增强for循环提供对当前元素的只读访问权限,不能直接修改元素的值。

List<String> list = Arrays.asList(\"aaa\", \"bbb\", \"ccc\", \"ddd\");

for (String s : list) {
    System.out.println(s);
}

相比增强for循环,普通for循环提供了更底层的操作,更加灵活,但使用也更加繁琐。普通for循环通过索引访问集合或数组中的元素,可以直接读取和修改元素的值。

List<String> list = Arrays.asList(\"aaa\", \"bbb\", \"ccc\", \"ddd\");

for (int i = 0; i < list.size(); i++) {
    System.out.println(list.get(i));
    list.set(i, list.get(i) + \"_plus\");
}

for (String s : list) {
    System.out.println(s);
}

打印结果:

aaa
bbb
ccc
ddd
aaa_plus
bbb_plus
ccc_plus
ddd_plus

3. Lambda 表达式 for 循环

Lambda表达式是Java 8引入的一种函数式编程特性,它可以用于简化代码和实现函数式接口。

Lambda表达式for循环采用函数式编程风格,通过Lambda表达式定义循环体的操作,使代码更加简洁和易读。

与增强型for循环类似,Lambda表达式for循环自动迭代集合或数组中的元素,无需手动控制索引。

Lambda表达式可以访问循环外部的局部变量,无需声明为final,但变量在Lambda表达式中是隐性final(即不可修改)。

List<String> list = Arrays.asList(\"aaa\", \"bbb\", \"ccc\", \"ddd\");
int a = 1;
list.forEach(s -> {
    System.out.println(s);
    //a = 2;编译报错,lambda 表达式中使用的变量应为 final 或有效 final
});

以上就是关于Java 中 for 循环的三种方式详解相关的全部内容,希望对你有帮助。欢迎持续关注潘子夜个人博客(www.panziye.com),学习愉快哦!

微信扫一扫

支付宝扫一扫

版权: 转载请注明出处:https://www.zuozi.net/10032.html

管理员

相关推荐
2025-08-06

文章目录 一、Reader 接口概述 1.1 什么是 Reader 接口? 1.2 Reader 与 InputStream 的区别 1.3 …

988
2025-08-06

文章目录 一、事件溯源 (一)核心概念 (二)Kafka与Golang的优势 (三)完整代码实现 二、命令…

465
2025-08-06

文章目录 一、证明GC期间执行native函数的线程仍在运行 二、native线程操作Java对象的影响及处理方…

348
2025-08-06

文章目录 一、事务基础概念 二、MyBatis事务管理机制 (一)JDBC原生事务管理(JdbcTransaction)…

456
2025-08-06

文章目录 一、SnowFlake算法核心原理 二、SnowFlake算法工作流程详解 三、SnowFlake算法的Java代码…

517
2025-08-06

文章目录 一、本地Jar包的加载操作 二、本地Class的加载方法 三、远程Jar包的加载方式 你知道Groo…

832
发表评论
暂无评论

还没有评论呢,快来抢沙发~

助力内容变现

将您的收入提升到一个新的水平

点击联系客服

在线时间:08:00-23:00

客服QQ

122325244

客服电话

400-888-8888

客服邮箱

122325244@qq.com

扫描二维码

关注微信客服号