본문 바로가기

JAVA/개념정리

자바/Java break문, contunue문, 이름 붙은 반복문 사용법

자바/Java break문, contunue문, 이름 붙은 반복문 사용법






2.4 break문

switch문에서 이미 배운 것과 같이 break문은 현재 위치에서 가장 가까운 switch문 또는 반복문을 벗어나는데 사용된다. 주로 if문과 함께 사용되어 특정 조건을 만족하면 반복문을 벗어나도록 한다. 


[실행결과]
i=15 
sum=105 


숫자를 1부터 계속 더해 나가서 몇까지 더하면 합이 100을 넘는지 알아내는 예제이다. i의 값을 1부터 1씩 계속 증가시켜가며 더해서 sum에 저장한다. sum의 값이 100을 넘으면 if문의 조건이 true이므로 break문이 수행되어 자신이 속한 반복문을 즉시 벗어난다. 

이처럼 무한 반복문에는 조건문과 break문이 항상 같이 사용된다. 그렇지 않으면 무한히 반복되기 때문에 프로그램이 종료되지 않을 것이다. 


[참고]sum += i;와 i++; 두 문장을 sum += i++;와 같이 한 문장으로 줄여 쓸 수도 있다. 



2.5 continue문


continue문은 반복문 내만 사용될 수 있으며, 반복이 진행 중에 continue문을 만나게 되면 반복문의 끝으로 이동하여 다음 반복으로 넘어간다. for문의 경우 증감식으로 이동하며, while문과 do-while문의 경우 조건식으로 이동한다. 
continue문은 반복문 전체를 벗어나지 않고 다음 반복을 계속 수행한다는 점이 break문과 다르다. 주로 if문과 함께 사용되어 특정 조건을 만족하는 경우에 continue문 이후의 문장들을 수행하지 않고 다음 반복으로 넘어가서 계속 진행하도록 한다. 전체 반복 중에 특정조건을 만족하는 경우를 제외하고자 할 때 유용하다.


[실행결과]
1 
2 
4 
5 
7 
8 
10 


1과 10사이의 숫자를 출력하되 그 중에서 3의 배수인 것은 제외하도록 하였다. 나머지 연산자를 사용해서 3으로 나눴을 때 나머지가 없으면 3의 배수이므로 이 경우 continue문이 실행되어 그 이후의 문장이 실행되지 않고 다음 반복으로 넘어간다. 





2.5 이름 붙은 반복문

여러 반복문이 중첩되어 있을 때 반복문 앞에 이름을 붙이고 break문과 continue문에 이름을 지정해 줌으로써 하나 이상의 반복문을 벗어나거나 반복을 건너뛸 수 있다. 



[실행결과]
2*1=2 
2*2=4 
2*3=6 
2*4=8 

구구단을 출력하는 예제이다. 제일 바깥에 있는 for문에 Loop1이라는 이름을 붙였다. 그리고 j가 5일 때 break문을 수행하도록 했다. 반복문의 이름이 지정되지 않은 break문은 자신이 속한 하나의 반복문만 벗어날 수 있지만, 지금처럼 반복문에 이름을 붙여 주고 break문에 반복문 이름을 지정해주면 하나 이상의 반복문도 벗어날 수 있다. 
j가 5일 때 반복문 Loop1을 벗어나도록 했으므로 2단의 4번째 줄까지 밖에 출력되지 않았다. 만일 반복문의 이름이 지정되지 않은 break문이었다면 2단부터 9단까지 모두 네 줄씩 출력되었을 것이다. 
3개의 주석처리된 break문과 continue문을 바꿔 가면서 어떤 결과를 얻을지 예측해보고 실행결과와 비교해 보도록 하자.





출처 : 자바의 정석