되자!백엔드개발자

Java(자바) - 이름 붙은 반복문 본문

개발공부/JAVA

Java(자바) - 이름 붙은 반복문

HyunJng 2022. 8. 10. 19:32

코딩을 하다 보면 중첩 반복문을 쓸 때가 많은데

내부 반복문에서 break나 continue를 써도 외부반복문에선 적용이 안되서 불편할 때가 있다.

나는 이 경우 그동안  int flag 를 선언해서 조건문과 함께 사용했는데 반복문에 이름을 붙여 사용할 수 있다는 것을 알게 되어서 공유 겸 써본다.

(반복문 이름) : (반복문){
...
break (반복문 이름);
continue (반복문 이름); // continue는 잘 안씀
}
import java.util.Scanner;

public class Test {
	public static void main(String[] args) {
		int menu = 0, num = 0;
		Scanner sc = new Scanner(System.in);
		
		outer:
			while(true) {
				System.out.println("1. square, 2. square root, 3. log");
				System.out.println("원하는 메뉴를 입력하시오.(종료 0)");
				menu = Integer.parseInt(sc.next());
				
				if(menu == 0) {
					System.out.println("프로그램을 종료합니다.");
					break; // while 종료
				}else if(!(1<=menu && menu <= 3)) {
					System.out.println("다시 선택하시오");
					continue;// while 다시 시작
				}
				
				for(;;) {
					System.out.println("계산 값을 입력하시오.(종료:0, 전체종료:99)");
					num = Integer.parseInt(sc.next());
					
					if(num == 0)
						break; // for문 종료
					if(num == 99)
						break outer; // while문 종료.
					
					switch(menu) {
					case 1:
						System.out.println("result = "+num*num);
						break;
					case 2:
						System.out.println("result = " + Math.sqrt(num));
						break;
					case 3:
						System.out.println("result = " + Math.log(num));
						break;
					}
				}
			}
	}
}