Java for-each 循环

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


for-each 循环语法

Java for-each 循环的语法是

for(dataType item : array) {
    ...
}

这里,

  • array - 数组或集合
  • item - 数组/集合的每个元素都赋给此变量
  • dataType - 数组/集合的 数据类型

示例 1:打印数组元素

// print array elements 

class Main {
  public static void main(String[] args) {
      
    // create an array
    int[] numbers = {3, 9, 5, -5};
    
    // for each loop 
    for (int number: numbers) {
      System.out.println(number);
    }
  }
}

输出

3
9
5
-5

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

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

示例 2:计算数组元素之和

// Calculate the sum of all elements of an array

class Main {
 public static void main(String[] args) {
  
   // an array of numbers
   int[] numbers = {3, 4, 5, -5, 0, 12};
   int sum = 0;

   // iterating through each element of the array 
   for (int number: numbers) {
     sum += number;
   }
  
   System.out.println("Sum = " + sum);
 }
}

输出:

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'};

   // iterating through an array using a for loop
   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'};
  
   // iterating through an array using the for-each loop
   for (char item: vowels) {
     System.out.println(item);
   }
 }
}

输出:

a
e
i
o
u

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

这就是为什么在处理数组和集合时,for-each 循环比 for 循环更受青睐。

在我们结束之前,让我们来测试一下您对 Java for-each 循环(带示例)的知识!你能解决下面的挑战吗?

挑战

编写一个函数来计算列表中元素的总和。

  • 返回数组 arr 中所有元素的总和。
  • 例如,如果 arr[] = {10, 20, 30, 40, 50}arrSize = 5,则预期输出为 150
你觉得这篇文章有帮助吗?

我们的高级学习平台,凭借十多年的经验和数千条反馈创建。

以前所未有的方式学习和提高您的编程技能。

试用 Programiz PRO
  • 交互式课程
  • 证书
  • AI 帮助
  • 2000+ 挑战