Java for-each 循环
提示
- for-each循环的概念:Java中的for-each循环用于遍历数组和集合,提供了一种简洁的方式来访问每个元素。
- for-each循环的应用:for-each循环通过声明元素的数据类型和集合名来逐个处理集合中的元素,使代码更清晰易读。
- 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
循环的执行情况如下所示:
迭代 | 变量 |
---|---|
1 | number = 3 sum = 0 + 3 = 3 |
2 | number = 4 sum = 3 + 4 = 7 |
3 | number = 5 sum = 7 + 5 = 12 |
4 | number = -5 sum = 12 + (-5) = 7 |
5 | number = 0 sum = 7 + 0 = 7 |
6 | number = 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 循环。