반응형

  • break문은 근접한 단 하나의 반복문만 벗어날 수 있다.
  • 여러 개의 반복문이 중첩된 경우 break문으로 중첩 반복문을 완전히 벗어날 수 없다.
  • 중첩 반복문 앞에 이름을 붙이고 break, continue 문에 이름을 지정하면 하나 이상의 반복문을 벗어날 수 있다.

package ch01;

 

public class Ex4_19 {

public static void main(String[] args) {

// 이름 붙은 반복문

 

// for문에 Loop1 이라는 이름을 붙임.

 

Loop1 : for(int i=2; i <= 9; i++) {

for(int j = 1; j <= 9; j++) {

if(j == 5) {

break Loop1;

// break;

// continue Loop1;

// continue;

 

} System.out.println(i + "*" + j + "=" + i * j);

} System.out.println(); // end of for i

} // end of Loop 1

}

}

 

위의 예제는 구구단을 출력하는 예제이다.

제일 바깥에 있는 for문에 Loop1 이라는 이름을 부여했다. 그리고 j가 5일때 break문을 수행하도록 했다.

반복문의 이름이 지정되지 않는 break문은 자신이 속한 하나의 반복문만 벗어날 수 있다.

이 처럼 반복문에 이름을 부여하고 break 문에 반복문 이름을 붙여주면 하나 이상의 반복문도 벗어날 수 있다.

j가 5일 때 Loop1을 벗어나도록 했으므로 2단의 4줄 까지 출력된다.

만일 반복문에 이름이 부여되지 않은 break문 이었다면 2단 부터 9단까지 모두 네 줄씩 출력되었을 것이다.

// 반복문에 이름을 부여하지 않은 break 문

2*1=2

2*2=4

2*3=6

2*4=8

 

3*1=3

3*2=6

3*3=9

3*4=12

 

4*1=4

4*2=8

4*3=12

4*4=16

 

5*1=5

5*2=10

5*3=15

5*4=20

 

6*1=6

6*2=12

6*3=18

6*4=24

 

7*1=7

7*2=14

7*3=21

7*4=28

 

8*1=8

8*2=16

8*3=24

8*4=32

 

9*1=9

9*2=18

9*3=27

9*4=36

 

 

// 반복문에 Loop1이라는 이름을 부여한 break 문

2*1=2

2*2=4

2*3=6

2*4=8

 

반응형

+ Recent posts