향상된 for문
- 배열을 사용할 때 기존의
for문 보다 더 편리하게 사용할 수 있게 해주는 것이다.
정의
for (변수 : 배열 또는 컬렉션) {
}
int [] numbers = {1, 2, 3, 4, 5};
***
for(int number : numbers){
System.out.println(number);
}
- 일반
for문과 동일하게 작동한다.
- 향상된
for문은 배열의 인덱스를 사용하지 않고, 종료 조건을 주지 않아도 된다. 단순히 해당 배열을 처음부터 끝까지 탐색한다.
:의 오른쪽에 numbers와 같이 탐색할 배열을 선택하고, :의 왼쪽에 int number와 같이 반복할 때 마다 찾은 값을 저장할 변수를 선언한다. 그러면 배열의 값을 하나씩 꺼내서 왼쪽에 있는 numbers에 담고 for문을 수행한다. for문의 끝에 가면 다음 값을 꺼내 number에 담고 for문을 반복 수행한다.
- 배열의 인덱스를 사용하지 않고 순회하기 때문에 코드가 간결하고 가독성이 좋다.
향상된 for문을 사용하지 못하는 경우
향상된 for문에는 증가하는 인덱스 값이 감추어져 있다. 따라서 int i와 같이 증가하는 인덱스 값을 직접 사용하는 경우는 향상된 for문을 사용할 수 없다.
for(int i = 0; i < numbers.length; ++i) {
System.out.println("number" + i + "번의 결과는: " + numbers[i]);
}