SyntaxHighlighter.all(); [자바 Java] 제어문(break문, continue문) :: 게을러지고 싶어 부지런한 개발자

continue문

루프 내에서 해당 루프의 나머지 부분을 건너뛰고, 바로 다음 조건식의 판단으로 넘어가게 해줌

 

다음 예제는 1부터 100까지의 정수 중에서 5의 배수와 7의 배수를 모두 출력하는 예제입니다.

 

public class prog {
	public static void main(String[] args) {
		for (int i = 1; i <= 100; i++) {
			if (i % 5 == 0 || i % 7 == 0) {
				System.out.println(i);
			} else {
				continue;
			}
		}
	}
}

출력결과

5
7
10
....
84
85
90
91
95
98
100

 

break 문

break 문은 루프 내에서 사용하여 해당 반복문을 완전히 종료시킨 뒤, 반복문 바로 다음에 위치한 명령문을 실행합니다.

즉 루프 내에서 조건식의 판단 결과와 상관없이 반복문을 완전히 빠져나가고 싶을 때 사용합니다.

 

다음 예제는 1부터 100까지의 합을 무한 루프를 통해 구하는 예제입니다.

int num = 1, sum = 0;

 

while (true) { // 무한 루프

    sum += num;

    if (num == 100) {

        break;

    }

    num++;

}

System.out.println(sum);

출력결과   5050

 

여기서 유의할 점!!! 

 

일반적인 break 문은 단 하나의 반복문만을 빠져나가게 해줍니다.

따라서 여러 반복문이 중첩된 상황에서 한 번에 모든 반복문을 빠져나가거나, 특정 반복문까지만 빠져나가고 싶을 때는 다른 방법을 사용해야 합니다.

 

이때 사용할 수 있는 방법이 바로 반복문에 이름(label)을 설정하는 것입니다.

가장 바깥쪽 반복문이나 빠져나가고 싶은 특정 반복문에 이름을 설정한 후, break 키워드 다음에 해당 이름을 명시하면 됩니다.

그러면 해당 break 키워드는 현재 반복문이 아닌 해당 이름의 반복문 바로 다음으로 프로그램의 실행을 옮겨줍니다.

 

이에대한 예제는 구구단 2단부터 4단까지 출력하는 코드입니다.

allLoop :

for (int i = 2; i < 10; i++) {  // 1번째 반복문

    for (int j = 2; j < 10; j++) { // 2번째 반복문

        if (i == 5) {

            break allLoop;

        }

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

    }

}

출력결과

2 * 2 = 4

2 * 3 = 6

2 * 4 = 8

2 * 5 = 10

...

4 * 6 = 24

4 * 7 = 28

4 * 8 = 32

4 * 9 = 36

 

 

 

 

 

 

+ Recent posts