Java

[Java] 레이블이 있는 break, continue의 사용

kyra 2022. 9. 24. 12:18

레이블 지정

  • 프로그램의 특정 부분을 레이블 블록으로 지정할 수 있다.
  • 형식
  • - 레이블 명 : {문장 블록}
public class HelloJava {
    public static void main(String[] args) {
        aa : {
            System.out.println("block aa"); // aa라는 레이블 블록
        }
        bb : {
            System.out.println("block bb");
            cc:{
                System.out.println("block cc"); // bb라는 레이블 블록 안 cc라는 레이블 블록
            }
        }

 

레이블을 사용한 break와 continue 활용

  • 레이블이 없는 경우 break와 continue는 가장 가까운 반복문을 벗어나거나 가장 가까운 반복문의 시작으로 되돌아간다.
  • 레이블이 있는 경우 break와 continue 뒤에 레이블 블록의 이름을 반드시 지정해야 한다.

  • bb블록이나 cc블록을 빠져나올 수 있다. 단 여기서 aa블록에는 포함되어 있지 않아 빠져나올 수 없다.

 

public class HelloJava {
        public static void main(String[] args)
        {
            int i, j;
            Outer : for (i=2 ; i<=9 ; i++)
            {
                System.out.println("==="+ i + "단 ===");
                for (j=1 ; j<=9 ; j++)
                {
                    if (j==3) continue Outer; //제어가 Outer의 시작으로 옮겨짐, 만약 j가 3이된다면 다시 구구단 시작
                    System.out.println(i+"*"+j+"="+i*j);
                }
            }
        }
    }

출력