Java 향상된 for 루프(for-each) 완벽 가이드: 문법, 예제, 비교
Java 향상된 for 루프 마스터하기
Java 향상된 for 루프가 배열과 컬렉션 순회를 어떻게 단순화하는지 명확한 예제와 고전적 for 루프와의 나란한 비교로 배웁니다.
향상된 for 루프(종종 for-each 루프라고 함)는 최신 Java(JDK 1.5 도입)의 필수 요소입니다. 개발자가 최소한의 상용구로 배열, List, 기타 컬렉션을 순회할 수 있게 하여 가독성을 높이고 off-by-one 오류 위험을 줄입니다.
향상된 for 루프 문법
문법은 간결하고 표현력이 좋습니다:
for (DataType element : arrayOrCollection) {
// 요소 처리
}
- arrayOrCollection – 순회할 배열 또는 컬렉션.
- element – 차례로 각 값을 갖는 로컬 변수.
- DataType – 요소의 타입.
예제 1: 배열 요소 출력
// 배열 요소 출력
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
각 반복에서 현재 배열 값이 number에 할당되어 콘솔에 출력됩니다.
- 반복 1:
number = 3
- 반복 2:
number = 9
- 반복 3:
number = 5
- 반복 4:
number = -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 = " + sum);
}
}
출력:
Sum = 19
| 반복 | 변수 |
| 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 |
각 루프 반복에서 현재 요소를 sum에 더해 최종 합계에 도달합니다.
for 루프 vs 향상된 for 루프
두 루프 모두 같은 결과를 내지만 향상된 for 루프는 더 명확한 문법을 제공하고 수동 인덱스 처리를 제거합니다.
1. 고전적 for 루프
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
2. 향상된 for 루프
class Main {
public static void main(String[] args) {
char[] vowels = {'a', 'e', 'i', 'o', 'u'};
for (char vowel : vowels) {
System.out.println(vowel);
}
}
}
출력:
a
e
i
o
u
둘 다 동일한 출력을 내지만 향상된 for 루프가 더 간결하고 오류 발생 가능성이 적습니다. 현대 Java에서 배열과 컬렉션을 순회할 때 권장되는 접근 방식입니다.
자세한 내용은 공식 Java 튜토리얼 참조.