int[] numbers = {1, 2, 3, 4, 5};
// 일반 for문
for (int i = 0; i < numbers.length; i++) {
int number = numbers[i];
System.out.println(number);
}
일반적인 for문을 살펴보면, 배열에 있는 값을 순서대로 읽어서 number변수에 넣고 출력한다. 배열은 처음부터 끝까지 순서대로 읽어서 사용하는 경우가 많기에 인덱스를 탐색하는 변수 int i를 선언해야 한다. 그리고 i < number.length 같은 배열의 끝 조건도 지정하고 인덱스를 증가(i++)시키는 등 번잡한 일들을 해주어야 한다.
2. 향상된 for문 (for-each)
int[] numbers = {1, 2, 3, 4, 5};
// 향상된 for문 : for-each문 -> iter 커맨드
for (int number : numbers) {
System.out.println(number);
}
· 인덱스를 사용하지 않고, 종료 조건 없이 단순히 배열을 처음부터 끝까지 탐색한다.
· 콜론(:)의 오른쪽에는 탐색할 배열을 선택한다.
· 콜론(:)의 왼쪽에는 int number와 같이 반복할 때마다 찾은 값을 저장할 변수를 선언해준다.
3. 향상된 for문을 사용하지 못하는 경우
int[] numbers = {1, 2, 3, 4, 5};
//for-each문을 사용할 수 없는 경우 : 증가하는 index 값 필요할 때.
for (int i = 0; i < numbers.length; ++i) {
System.out.println("number" + i + "번의 결과는: " + numbers[i]);
}
· 향상된 for문에는 증가하는 인덱스 값이 감추어져 있다
· 따라서 int i 와 같은 증가하는 인덱스 값을 직접 사용해야 하는 경우에는 향상된 for문을 사용할 수 없다.