자바에서 for 문은 가장 빈번하게 사용되는 반복문입니다.

 

반복적인 업무를 처리하기 때문에 배열 또는 ArrayList 등과 함께 자주 사용되고

 

for 문에서 이용하는 변수는 배열의 인덱스로 겸용되어 쓰여지는 경우가 많이 있습니다.

 

< for 문의 기본 형식 >

 

for (초기화식; 조건식; 업데이트식)

실행부분;

 

1
2
3
4
5
6
7
8
9
public class ForTest {
    
    public static void main(String[] args) {
        int array[] = {1020304050};
        for (int i = 0; i < array.length; i++) {
            System.out.println(array[i]);
        }
    }
}
cs

 

 

이렇게 함께 사용되는 경우가 많아져서 JDK 5.0 버전부터는 향상된 for 문을 지원하고 있습니다.

 

< for each 문의 형식 >

 

for (변수타입 변수이름 : 배열이름)

실행부분;

 

1
2
3
4
5
6
7
8
9
public class ForTest {
    
    public static void main(String[] args) {
        int array[] = {1020304050};
        for (int number : array) {
            System.out.println(number);        
        }
    }
}
cs

 

for each (향상된 for 문) 에서는 배열의 항목 수만큼 실행부분을 반복하는데

반복이 이루어질 때마다 배열의 항목을 순서대로 꺼내어 변수(number) 에 자동으로 대입해 줍니다.

 

따로 반복 변수(int i) 를 선언하거나 배열의 값을 가져오는 부분(array[i]) 없이

실행부분에서는 하고자 하는 작업에 집중할 수 있습니다.

 

위의 두 개의 소스코드는 결국 동일한 결과를 출력하게 됩니다.

 

 

자바 for each 문을 사용할 때 주의해야 할 점은

오직 배열의 값을 가져다 사용할 수만 있고(read) 수정할 수 는 없다는 것(write) 입니다.

 

(추가적으로 for 문과 for each 문의 구현 방식에 대한 성능 차이는 없다고 볼 수 있습니다.)

 

Posted by maze1008
,