[Java] 3.3.5 break 레이블문

3.3.5 break 레이블 문

프로그래밍하다 보면 반복문 내부에 반복문을 사용해야 할 때가 있습니다. 만약 내부 반복문에서 break문을 사용하면 내부 반복문만 탈출합니다. 그런데 외부 반복문에 레이블을 지정하고 내부 반복문에서 break 레이블문을 사용하면 외부 반복문을 탈출할 수 있습니다.

먼저 Java 언어에서는 코드 상에 레이블 이름을 지정하고 콜론(:)을 표시하면 레이블을 설정하는 것입니다.

레이블 명:

그리고 break 레이블문은 break 뒤에 레이블 이름을 표시하는 것입니다.

break 레이블 명;

예를 들어 구구단의 합을 계산하다 처음으로 1000을 넘는 위치가 어디인지 확인하는 로직을 구현해 봅시다. 이를 위해서는 단을 진행하기 위한 반복문이 외부에 있고 내부에 다시 단*1에서 단*9까지 진행하며 합계를 구하는 반복문이 필요합니다. 그리고 내부 반복문에서는 합계가 1000보다 크면 외부 반복문을 탈출하여 로직을 완료해야 합니다. 이처럼 여러 개의 반복문의 로직에서 외부 반복문을 탈출할 때 break 레이블문을 사용합니다.

 sum을 0으로 초기화

탈출_레이블 지정

반복(i를 1로 초기화;

       i가 10보다 작을 동안;

       i를 1씩 증가)

반복(j를 1로 초기화;

          j가 10보다 작을 동안;

          j를 1씩 증가)

        sum에 sum + i*j를 대입

조건(sum이 1000보다 크거나 같으면)

탈출_레이블로 탈출

현재 i와 j 및 sum을 출력

[소스 3.11] break 레이블을 이용하여 99단 합계가 처음으로 1000을 넘을 때 확인

private static void exBreakLabel() {
    int sum = 0;
    int i=0;
    int j=0;
    exit_Label:
    for( i = 1; i<10; i++){
        for( j=1; j<10; j++){
            sum += i*j;
            if(sum >=1000){
                break exit_Label;
            }
        }
    }
    System.out.println("1*1+1*2+..."+i+"*"+j +"="+sum ); 
}

실행 결과

1*1+1*2+...7*4=1015