자바에서 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[] = {10, 20, 30, 40, 50};
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[] = {10, 20, 30, 40, 50};
for (int number : array) {
System.out.println(number);
}
}
} |
cs |
for each (향상된 for 문) 에서는 배열의 항목 수만큼 실행부분을 반복하는데
반복이 이루어질 때마다 배열의 항목을 순서대로 꺼내어 변수(number) 에 자동으로 대입해 줍니다.
따로 반복 변수(int i) 를 선언하거나 배열의 값을 가져오는 부분(array[i]) 없이
실행부분에서는 하고자 하는 작업에 집중할 수 있습니다.
위의 두 개의 소스코드는 결국 동일한 결과를 출력하게 됩니다.
자바 for each 문을 사용할 때 주의해야 할 점은
오직 배열의 값을 가져다 사용할 수만 있고(read) 수정할 수 는 없다는 것(write) 입니다.
(추가적으로 for 문과 for each 문의 구현 방식에 대한 성능 차이는 없다고 볼 수 있습니다.)
'IT > Java' 카테고리의 다른 글
ArrayList 깊은 복사(deep copy) vs 얕은 복사(shallow copy) (2) | 2015.03.27 |
---|---|
자바 랜덤 문자열 함수(RandomString) (0) | 2015.03.25 |
자바 랜덤함수(Java Random) (0) | 2015.03.24 |
자바 문자열 비교 - equals(), equalsIgnoreCase() (0) | 2015.03.17 |
BigInteger 클래스 - 아주 큰 정수 표현하기 (0) | 2015.03.14 |