Java for-each 循环

Java for-each 循环可方便的遍历数组和集合。在本教程中,我们将通过示例了解 Java for-each 循环及其与 for 循环的区别。

在本教程中,我们将通过示例了解 Java for-each 循环及其与 for 循环的区别。

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

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

for-each 循环语法

Java for-each 循环的语法是:

for(dataType item : array) {
  // some code
}

说明:

  • array - 被迭代的数组或集合
  • item - 每次迭代中将数组/集合的每一项都分配给这个变量
  • dataType - 数组/集合的数据类型

示例 1:打印数组元素

// 打印数组元素

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

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

    for (int number: numbers) {
      System.out.println(number);
    }
  }
}

输出

3
9
5
-5

在这里,我们使用了 for-each 循环来打印数字 一一排列。

  • 在第 1 次迭代中, number3
  • 在第 2 次迭代中, number9
  • 在第 3 次迭代中, number5
  • 在第 4 次迭代中, number-5

示例 2:数组元素的总和

// 计算数组元素的和

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

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

   // 循环累加数组的每个元素到 sum 变量
   for (int number: numbers) {
     sum += number;
   }

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

输出

Sum = 19

在上面的程序中, for each 循环的执行顺序如下:

迭代 变量 number 变量 sum
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

for 循环与 for-each 循环

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

使用 for 循环

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

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

   for (int i = 0; i < vowels.length; ++ i) {
     System.out.println(vowels[i]);
   }
 }
}

输出

a
e
i
o
u

使用 for-each 循环

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

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

   for (char item: vowels) {
     System.out.println(item);
   }
 }
}

输出

a
e
i
o
u

在这里,两个程序的输出是相同的。但是 for-each 循环更易于编写和理解。这就是为什么在处理数组和集合时 for-each 循环优于 for 循环的原因。