跳到主要内容

Java for-each 循环

提示
  1. for-each循环的概念:Java中的for-each循环用于遍历数组和集合,提供了一种简洁的方式来访问每个元素。
  2. for-each循环的应用:for-each循环通过声明元素的数据类型和集合名来逐个处理集合中的元素,使代码更清晰易读。
  3. for循环与for-each循环的区别:for-each循环简化了遍历数组或集合的语法,相比于传统的for循环,它不需要索引和条件表达式,更易于编写和理解。

在 Java 中,for-each 循环用于遍历 数组 和集合(如 ArrayList)的元素。它也被称为增强型 for 循环。

for-each 循环语法

Java for-each 循环的语法是:

for(数据类型 元素 : 数组或集合) {
...
}

这里,

  • 数组或集合 - 一个数组或集合
  • 元素 - 数组/集合的每个元素都会被赋值给这个变量
  • 数据类型 - 数组/集合的数据类型

示例 1:打印数组元素

// 打印数组元素

class Main {
public static void main(String[] args) {

// 创建一个数组
int[] numbers = {3, 9, 5, -5};

// for-each 循环
for (int number: numbers) {
System.out.println(number);
}
}
}

输出

3
9
5
-5

这里,我们使用了 for-each 循环 逐个打印 numbers 数组的每个元素。

  • 在第一次迭代中,元素 将是 3。
  • 在第二次迭代中,元素 将是 9。
  • 在第三次迭代中,元素 将是 5。
  • 在第四次迭代中,元素 将是 -5。

示例 2:数组元素的总和

// 计算数组所有元素的总和

class Main {
public static void main(String[] args) {

// 一个数字数组
int[] numbers = {3, 4, 5, -5, 0, 12};
int sum = 0;

// 遍历数组的每个元素
for (int number: numbers) {
sum += number;
}

System.out.println("总和 = " + sum);
}
}

输出:

总和 = 19

在上述程序中,for-each 循环的执行情况如下所示:

迭代变量
1number = 3 sum = 0 + 3 = 3
2number = 4 sum = 3 + 4 = 7
3number = 5 sum = 7 + 5 = 12
4number = -5 sum = 12 + (-5) = 7
5number = 0 sum = 7 + 0 = 7
6number = 12 sum = 7 + 12 = 19

可以看出,我们在每次循环迭代中将 numbers 数组的每个元素都添加到了 sum 变量中。

for 循环与 for-each 循环

让我们看看 for-each 循环与常规的 Java for 循环 有何不同。

1. 使用 for 循环

class Main {
public static void main(String[] args) {

char[] vowels = {'a', 'e', 'i', 'o', 'u'};

// 使用 for 循环遍历数组
for (int i = 0; i < vowels.length; ++i) {
System.out.println(vowels[i]);
}
}
}

输出:

a
e
i
o
u

2. 使用 for-each 循环

class Main {
public static void main(String[] args) {

char[] vowels = {'a', 'e', 'i', 'o', 'u'};

// 使用 for-each 循环遍历数组
for (char item: vowels) {
System.out.println(item);
}
}
}

输出:

a
e
i
o
u

这里,两个程序的输出是相同的。然而,for-each 循环更容易编写和理解。

这就是为什么在处理数组和集合时,通常优先选择 for-each 循环而不是 for 循环。