Programming/JAVA
java : label break 를 통한 반복문 제어
늦깍이낭만파
2012. 9. 21. 15:45
java에서는 goto 문을 지원하지 않습니다.
그래서 2중, 3중 반복문을 돌릴때 안쪽에 있는 반복문에서 특정 조건에 의하여
반복문을 빠져나오기 위해 flag 변수를 사용하는 경우가 많죠.
(사실 오늘에서야 label break 란 걸 알게되었죠^^;;;; 이럴때마다 왜이리 기초가 부족한지 ㅠㅠㅠㅠ)
이러한 flag 변수를 막고 보다 가독성이 나은 방법으로 label break 를 이용합니다.
반복문 앞에 label을 붙여주고 해당 label의 반복문 내에 break, 혹은 continue를 걸어주는 거죠.
그럼 중첩반복문을 제일 쉽게 사용할만한 구구단 예제를 볼까요?
public class MultiplicationTable { public static final int START = 1; public static final int MAX = 9; public static void main(String[] args) { bfLoop : for(int bfOperand =START; bfOperand<=MAX; bfOperand++){ System.out.println("==== " + bfOperand + "단 입니다. ===="); if(bfOperand > MAX) break; for(int afOperand = START; afOperand<=MAX; afOperand++){ System.out.println(bfOperand + "*" + afOperand + "=" + bfOperand*afOperand); if(afOperand==MAX) continue bfLoop; } } } }
위처럼 작성할 수 있겠는데요, 보시면 알 수 있듯이 bfLoop을(바깥 반복문)
afOperand가 9일 경우에 continue하는걸 볼 수 있습니다.
물론 바깥 반복문에서 bfOperand가 9보다 클 경우에도 lable을 이용할 수 있죠.