본문으로 바로가기

참고)

자바(java) 조건문은 https://codehouse.tistory.com/7, https://codehouse.tistory.com/8 에서 확인 가능하다.

자바(java) 반복문은 https://codehouse.tistory.com/11 에서 확인 가능하다.

 

 

1. break문

 

반복문을 끝까지 수행하지 않고 특정 조건을 만족했을때 반복을 중지하고 싶다면 break 이용하여 중지할 있다.

 

다음 예제는 100이하의 자연수 짝수의 합이 1500이상일때 반복을 중지하는 코드이다.

 

예제)

 

1
2
3
4
5
6
7
8
9
10
11
12
13
//1부터 100까지의 자연수 중에서 짝수의 합이 1500이상이면 반복을 중지
int sum = 0
for(int i=1; i <= 100; i++) {
    if( i % 2 == 0) {
        if( (sum+i) > 1500) {
            System.out.println("1500까지의 합중 최대크기의 짝수는 " + i + "이다.");
            break;
        }
        sum += i;
    }
}
 
System.out.println("짝수의 합은 " + sum + "이다");
 

 

결과)

1500까지의 합중 최대크기의 자연수는 78이다.

짝수의 합은 1482이다

 

중첩 for문에서도 사용이 가능하다. 주의 해야할 점은 break 자신의 코드 블록을 감싸고 있는 for 밖에 중지시키지 못한다.

 

그러므로 중첩for문을 중지시키려면 코드블럭에서 모두 break문을 사용해야 한다. 다음 예제를 통해 확인해 보자

 

예제)

 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
//2단부터 9단까지 각 결과를 출력하고 각 결과의 값의 합이 200을 초과한다면 반복문을 중지하시오. 
int sum2 = 0;
for(int i=2; i <=9; i++) {
    if(sum2 > 200) {
        break;
    }
    for(int j=1; j <= 9; j++) {
        if(sum2 > 200) {
            break;
        }
        
        sum2 += (i * j);
        System.out.println(i + " X " + j + " = " + (i * j));
    }
}
 
System.out.println("최종 합은 : " + sum2);
 

 

결과)

2 X 1 = 2
2 X 2 = 4
2 X 3 = 6
2 X 4 = 8
2 X 5 = 10
2 X 6 = 12
2 X 7 = 14
2 X 8 = 16
2 X 9 = 18
3 X 1 = 3
3 X 2 = 6
3 X 3 = 9
3 X 4 = 12
3 X 5 = 15
3 X 6 = 18
3 X 7 = 21
3 X 8 = 24
3 X 9 = 27
최종 합은 : 225

 

중첩 for문을 break문을 한번만 쓰고도 모두 반복수행을 정지 시킬 있다. 최상위 for문에 특정 이름을 붙여주는데 이를 라벨이라며 하며

 

break label; 해주면 해당 label 반복문을 빠져 나오게 된다.  예제를 이용하면 다음과 같다.

 

예제)

 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
//2단부터 9단까지 각 결과를 출력하고 각 결과의 값이 200을 초과한다면 반복문을 중지하시오. 
int sum2 = 0;
 
exloop: // 해당 반복문 전체를 exloop라는 label을 지정해 준다.
for(int i=2; i <=9; i++) {
    for(int j=1; j <= 9; j++) {
        if(sum2 > 200) {
            //break label이름을 사용하여 전체 반복문을 수행 중지 시킨다.
            break exloop;
        }
        
        sum2 += (i * j);
        System.out.println(i + " X " + j + " = " + (i * j));
    }
}
 
System.out.println("최종 합은 : " + sum2);
 

 

 

 

2. continue문

 

특정 조건은 반복문의 처음으로 다시 되돌아가고 실을때 continue문을 사용한다. 다음 예제 코드로 확인해 보자.

 

예제)

 

1
2
3
4
5
6
7
8
9
10
11
// 1부터 10까지의 자연수 중 7을 제외한 합을 구하시오.
int sum = 0
for(int i=1; i <=10; i++) {
    if(i == 7) {
        continue;
    }
    
    sum += i;
}
 
System.out.println("1부터 10까지 7을 제외한 합은 : " + sum);
 


결과)

1부터 10까지 7을 제외한 합은 : 48

 

continue문도 break문과 마찬가지로 중첩, 라벨이름을 활용하여 사용 있다.