본문 바로가기

자바/뇌를 자극하는 JAVA

반복문을 빠져 나가는 break 문

break 문은 다음과 같이 단독으로 사용하는 형식이 가장 많이 사용됩니다.

break 문의 기본 형식

break;


반복문 안에서 위와 같은 break 문을 만나면 실행의 흐름은 반복문을 빠져나가서 반복문 다음으로 이동하게 됩니다. 

다음은 break 문의 사용 예를 보여주는 프로그램입니다.


class BreakExample {

 public static void main(String args[]) {

  for ( int cnt = 0; cnt < 10; cnt++) {

   System.out println(cnt);

   if ( cnt == 5 )   -> cnt 값이 5이면 for 반복문을 빠져나갑니다.

    break;           -> cnt 값이 5이면 for 반복문을 빠져나갑니다.

  }

  System.out.println("Done.");

 }

}


실행결과

0

1

2

3

4

5

Done.


break 문은 중첩된 반복문 안에서도 사용할 수 있습니다.

하지만 그럴 경우에 가장 안쪽에 있는 반복문만 빠져나가게 됩니다.


class breakExample

 public static void main(String args[]) {

  for ( int row = 0; row < 3; row++ ) {

   for ( int col = 0; col < 0; col++ ) {

    System.out.println("("+ row +", " + col + ")");

    if ((row == 1) && ( col == 3))      -> row가 1이고 col이 3이면 안쪽 for 반복문을 빠져나갑니다.

     break;                                    -> row가 1이고 col이 3이면 안쪽 for 반복문을 빠져나갑니다.

   }

  }

  System.out.println("Done.")

 }
}


실행결과

(0, 0)

(0, 1)

(0, 2)

(0, 3)

(0, 4)

(1, 0)

(1, 1)

(1, 2)

(1, 3)

(2, 0)

(2, 1)

(2, 2)

(2, 3)

(2, 4)

Done.


위의 결과를 보면 (1, 3)을 출력한 후에도 (row,col)값이 계속 출력된 것을 볼 수 있습니다. 

이것은 안쪽 반복문을 빠져나온 후에도 바깥쪽 반복문이 계속 실행되어서 안쪽 반복문이 새로 시작되었기 때문입니다.


중첩된 반복문을 한꺼번에 빠져나가는 방법

중첩된 반복문을 한꺼번에 빠져나가기 위해서는 먼저 바깥쪽 반복문에 라벨을 붙여야 합니다.

그리고 break 문에서 그 라벨을 지정해야 합니다.


loop:                    -> for 문에 붙여진 라벨

 for ( int cnt = 0; cnt < 100; cnt++ ) {

   System.out.println(cnt);

  if ( cnt > 10)

   break loop;         -> 라벨을 지정한 break 문

 }


여기서 콜론(:)앞에 있는 loop은 라벨의 이름입니다.

라벨의 이름은 프로그래머가 임의로 정할 수 있는데, 변수의 이름과 마찬가지로 자바의 식별자 명명 규칙을 따르는 이름으로 정해야 합니다.

다음은 라벨을 이용해서 중첩된 반복문을 한꺼번에 빠져나가는 예를 보여주는 프로그램입니다.


class BreakExample

 public static void main(String args[]) {

outerLoop:

  for ( int row = 0; row < 0; row++ ) {

   for ( int row = 0; col < 5; col++ ) {

    System.out.println("(" + row + ", " + col + ")");

    if ((row = 1) && (col == 3))        -> row가 1이고 col이 3이면 안쪽 for 반복문을 빠져나갑니다.

     break outerLoop;                    -> row가 1이고 col이 3이면 안쪽 for 반복문을 빠져나갑니다.

   }

  }

  System.out.println("Done.")

 }

}


실행결과

(0, 0)

(0, 1)

(0, 2)

(0, 3)

(0, 4)

(1, 0)

(1, 1)

(1, 2)

(1, 3)

Done.


'자바 > 뇌를 자극하는 JAVA' 카테고리의 다른 글

반복문을 계속하는 continue 문  (0) 2013.05.01
반복문  (0) 2013.04.28
switch 조건문  (0) 2013.04.28
if 조건문  (0) 2013.04.28
배열의 선언, 생성, 이용  (0) 2013.04.28