В этом руководстве мы узнаем о цикле for-each в Java и его отличии от цикла for с помощью примеров.
В Java цикл for-each используется для перебора элементов массивов и коллекций (например, ArrayList). Он также известен как расширенный цикл for.
для каждого цикла Sytnax
Синтаксис цикла 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 для печати каждого элемента массива чисел один за другим.
- В первой итерации 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); ) )
Выход :
Сумма = 19
В приведенной выше программе выполнение for each
цикла выглядит так:
Итерация | Переменные |
---|---|
1 | число = 3 сумма = 0 + 3 = 3 |
2 | число = 4 сумма = 3 + 4 = 7 |
3 | число = 5 сумма = 7 + 5 = 12 |
4 | число = -5 сумма = 12 + (-5) = 7 |
5 | число = 0 сумма = 7 + 0 = 7 |
6 | число = 12 сумма = 7 + 12 = 19 |
Как мы видим, мы добавляли каждый элемент массива чисел к переменной суммы на каждой итерации цикла.
для цикла Vs для каждого цикла
Давайте посмотрим, чем for-each
цикл отличается от обычного цикла for в Java.
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)); ) ) )
Выход :
aeiou
2. Использование для каждого цикла
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); ) ) )
Выход :
aeiou
Здесь результат работы обеих программ одинаков. Однако цикл for-each легче написать и понять.
Вот почему цикл for-each предпочтительнее цикла for при работе с массивами и коллекциями.