컬렉션과 배열의 값을 직접 순회합니다.
향상된 for는 Iterable이나 배열에서 각 값을 순서대로 꺼냅니다. 인덱스가 필요하지 않을 때 더 간결하고 범위 오류를 막습니다.
콜론 오른쪽의 scores에서 72, 91, 84를 순서대로 하나씩 꺼내 score에 담고, 80 이상인 91과 84만 합격 줄로 출력합니다. 배열을 순회할 때 컴파일러는 이 문장을 인덱스를 쓰는 일반 for로 바꾸고, List 같은 Iterable은 iterator()의 hasNext와 next 호출로 바꿉니다. 그래서 지금 몇 번째 항목인지는 이 문법만으로 알 수 없습니다.
반복 변수에 새 값을 대입해도 원본 배열 항목이 교체되지는 않습니다. 객체 내부를 변경하면 공유 객체에는 영향이 있습니다.
반복 중 컬렉션 구조를 변경하면 ConcurrentModificationException이 날 수 있으므로 removeIf나 Iterator를 사용합니다.
값만 필요한데 for(int i...)를 사용해 불필요한 인덱스 접근을 만들지 마세요.
직접 바꿔보세요합격 점수만 새 목록에 모아 차례로 출력하세요.
실행 버튼을 누르면 결과가 여기에 표시됩니다.