JDK1.5부터 배열과 컬렉션에 저장된 요소에 접근할 때 편리하게 할 수 있도록 새로운 문법이 추가되었다.
for ( 타입 변수명 : 배열 또는 컬렉션 ) {
// 반복할 문장
}
위와 같은 형태를 지닌다.
int [] arr = { 10, 20, 30, 40, 50 };
for(int i=0; i < arr.length; i++) {
System.out.println(arr[i]);
}
for (int tmp : arr) {
System.out.println(tmp);
}
향상된 for문은 매 반복마다 arr에서 하나씩 순서대로 읽어서 선언한 변수(tmp)에 저장한다.
기존 for문보다 훨씬 간결하다는 장점이 있지만, 배열이나 컬렉션에서 밖에 사용하지 못한다는 단점이 있다.
break문은 근접한 단 하나의 반복문만 벗어날 수 있다. 이 때 반복문에 이름을 붙이고 break와 continue에 이름을 지정해 줌으로써 하나 이상의 반복문을 벗어나거나 건너뛸 수 있다.
Loop1 : for(int i = 2; i <= 9; i++) {
for(int j = 1; j <= 9; j++) {
if(j==5) break Loop1;
}
}
위와 같은 코드에서, j = 5가 되면 Loop1 반복문을 탈출하게 된다.
첫 번째 for문의 이름이 Loop1이므로 첫 번째 for문을 탈출하게 된다.
따라서 i = 2, j = 5에서 반복문이 끝나게 된다.