Java 향상된 for문
향상된 for문(Enhanced For Loop) 이전에 사용하던 for (초기식; 조건식; 증감식)
형태와 다르다.
기존 for 문
int[] arr;
arr = new int[] { 10, 20, 30, 40, 50 };
for (int i = 0; i < arr.length; i++) {
System.out.println(arr[i]);
}
10
20
30
40
50
향상된 for문을 이해하기 위해서는 배열을 알아야 한다.
이 for문은 각각의 요소를 탐색한다는 의미로 for-each 로 부르기도 한다.
- 향상된 for문을 사용하면, 기존 for문보다 편리하게 사용할 수 있다.
향상된 for문 정의
for (var : array or collection) {
// 컬렉션 또는 배열의 요소 순회하면서 수행하는 코드 블록
}
- array 요소를 돌면서 변수 var 에 할당하게 된다. var 접근하면 해당 요소의 값(value)을 접근할 수 있다.
향상된 for문 코드
int[] arr;
arr = new int[] { 10, 20, 30, 40, 50 };
for (int v : arr) {
System.out.println(v);
}
10
20
30
40
50
- arr 배열 각 요소를 순회하면서 요소의 값을 출력하도록 하였다.
- 기존 for문
int i =0; i < arr.length; i++
종료 조건 및 증감 식이 없어서 사용하기 편리하다. - 단점으로는 for문의 i 와 같은 인덱스를 사용할 수 없다.
💡
인덱스는 향상된 for문 지역 변수 밖으로 선언하면 사용할 수 있지만, 코드가 길고 복잡하여 실무에서는 권장하지 않고 있다. 인덱스를 사용하려면 기존 for문으로 구현한다.
IDEA 편집기에서 축약어로 바로 사용하기
- iter 후 Tab 키를 누르면 향상된 for문을 바로 불려올 수 있다.