자바에서는 반복문 앞에 라벨을 붙여서 그 라벨을 break, continue 문 뒤에 붙여 중첩된 반복문을 한꺼번에 벗어날 수 있다.
━━━━━━━━━━━━━━━━━━━━━━━━━━━
loop1: for(...) {
for (… ) {
…
break loop1; //바깥쪽 루프를 벗어남.
…
continue loop1: //바깥쪽 루프의 그 다음 반복을 바로 수행.
}
}
━━━━━━━━━━━━━━━━━━━━━━━━━━━
반복문의 이름이 지정되지 않은 break, continue 문은 그것을 포함하는 가장 안쪽의 반복문을 제어하지만 이처럼 라벨링을 이용하면 그 바깥쪽의 반복문을 제어할 수 있다.
그리고 JAVA5 이상부터는 C#의 foreach 나 파이썬의 for문과 같은 기능을 사용할 수 있다. 문법은 다음과 같다.
━━━━━━━━━━━━━━━━━━━━━━━━━━━
for(자료형 변수명: 집합) {
}
━━━━━━━━━━━━━━━━━━━━━━━━━━━
여기서 집합은 배열,콜렉션,enum 등이다. 이렇게 하면 예를 들어 배열의 각 요소가 변수명에 대입되어 차례로 반복문을 수행하게 된다.
━━━━━━━━━━━━━━━━━━━━━━━━━━━
enum Week { 월, 화, 수, 목, 금, 토, 일 }
public static void main(String args []) {// enum 타입을 foreach 로 출력
for (Week day : Week.values()) { // Week.values()에는 Week 의 값들이 교대로 들어갑니다.
System.out.println(day + "요일");
}
// 정수 배열을 foreach 로 출력
int[] num = { 14, 54, 52, 26, 62, 55 };
for (int i : num)
System.out.println(i);
// 문자열 배열을 foreach 로 출력
String names[] = { "수성", "금성", "지구", "화성" };
for (String s : names)
System.out.println(s);
}
━━━━━━━━━━━━━━━━━━━━━━━━━━━
[#00065]
댓글 없음:
댓글 쓰기