English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
이 튜토리얼에서는 예제를 통해 Java에서 또 다른 형태의 for 루프를 배울 것입니다. 즉, 강화된 for 루프 또는 for-each 루프라고도 합니다.
Java에서, 배열이나 집합을 처리할 때 강화된 for 루프를 사용할 수 있습니다. 이를 for-each 루프. 이는 루프가 배열이나 집합의 각 요소를 순회한다는 것입니다.
for-each 루프 이전에, 이해해야 할 것이 있습니다:
배열 처리 시 why for-each 루프 대신 for 루프를 사용하는 예제를 보겠습니다.
이 예제에서는 표준 for 루프를 사용하여 배열의 요소를 순회하는 방법을 보여줍니다.
class ForLoop { public static void main(String[] args) { char[] vowels = {'a', 'e', 'i', 'o', 'u'}; for(int i = 0; i < vowels.length; ++ ) { System.out.println(vowels[i]); } } }
출력:
a e i o u
이제, for-each 루프는 같은 작업을 수행합니다.
class AssignmentOperator { public static void main(String[] args) { char[] vowels = {'a', 'e', 'i', 'o', 'u'}; // foreach 루프 for(char item: vowels) { System.out.println(item); } } }
출력:
a e i o u
여기서 두 프로그램의 출력이 같이 나타납니다.
이 두 프로그램을 세심하게 분석할 때, for-each 루프는 쓰기가 더 쉽고, 코드의 가독성을 높입니다. 이 때문에 강화된 for 루프라고 불리는 것입니다.
따라서, 가능한 한 표준 for 루프에서 강화된 for 루프를 사용하는 것이 좋습니다.
먼저 for-each 루프의 문법:
for(data_type item : collections) { ... }
이곳에서는
collection -순회해야 할 집합이나 배열.
item -집합의 단일 항목.
각 반복마다 for-each 루프는 for-each 루프가 Java에서 어떻게 작동하는지.
반복 - 주어진 집합이나 배열(collections)의 각 항목을 순회
저장 - 변수(item)의 각 항목
그리고반복적으로 실행루프 내의 주체 문장.
이를 통해 명확히 설명해 보겠습니다.
다음 프로그램은 정수 배열의 모든 요소의 합을 계산합니다.
class EnhancedForLoop {}} 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 = " + 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 |
각 반복에서 for을 볼 수 있습니다-each 루프
numbers 배열의 각 요소를 순회합니다
number 변수에 저장합니다
주체를 실행하고 number 변수에 number를 더하고, 마지막으로 총 합(총 합)을 얻습니다.