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 편집기에서 축약어로 바로 사용하기

0:00
/0:10
  • iter 후 Tab 키를 누르면 향상된 for문을 바로 불려올 수 있다.