자바에서 for 문은 가장 빈번하게 사용되는 반복문입니다.
반복적인 업무를 처리하기 때문에 배열 또는 ArrayList 등과 함께 자주 사용되고
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 (변수타입 변수이름 : 배열이름)
실행부분;
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 |