분기문
분기문은 조건문과 반복문에 중간에서 주어진 조건의 흐름을 바꿀 수 있는 구문이다.[1] 어느 조건에 따라 프로그램의 실행 내용이 분기되는 것을 의미한다.[2]
break
break문은 switch문 또는 반복문을 벗어나는 데 사용된다. 주로 if문과 함께 사용되어 특정 조건을 만족하면 반복문을 벗어나도록 한다. 즉, 반복을 탈출하는 역할을 한다.[3]
public class Break { public static void main (String[]args) { int sum = 0; int num; for( num =1; num++) { sum += num; if(sum >= 100) { break; // 조건에 충족할 경우 바로 빠져나온다. 그때의 num 값이 14인 것을 알 수 있다. } } System.out.println(sum); // 결과:105 System.out.println(num); // 결과:14
break문을 활용해서 1부터 숫자를 더해나가서 합계가 100을 초과 했을 경우 for문을 빠져나오는 반복문을 구현한 것이다. 반복문 중간에 조건문을 넣어서 합계가 100을 초과 했을 때 break으로 빠져나오게 된다.[4]
continue
continue문은 반복문 내만 사용될 수 있으며, 반복이 진행 중에 continue문을 만나게 되면 반복문의 끝으로 이동하여 다음 반복으로 넘어간다. for문의 경우 증감식으로 이동하며, while문과 do-while문의 경우 조건식으로 이동한다. continue문은 반복문 전체를 벗어나는 것이 아니라 다음 반복을 계속 수행한다는 점이 break문과 큰 차이점이 있다.주로 if문과 함께 사용되어 특정 조건을 만족하는 경우에 continue문 이후의 문장들을 수행하지 않고 다음 반복으로 넘어가서 계속 진행하도록 한다. 전체 반복 중에 특정 조건을 만족하는 경우를 제외하고자 할 때 유용하다.[5]
public class Continue { public static void main(String[]args) { //3의 배수만 출력 for(int i=1; i<100; i++){ if(i%5 != 0) { continue; } System.out.println(i); // 100 미만 3의 배수 출력 } /* for(int i=1; i<100; i++){ if(i%5 == 0) { System.out.println(i); } } // 같은 결과 도출 */
continue문을 활용하여 i가 5로 나누어떨어지지 않을 때 수행문을 수행하지 않고 다음 반복으로 넘어가는 조건을 추가하여 1~100까지의 숫자 중 5의 배수만 출력하는 반복문을 구현해 보았다. 그 밑에 주석 처리한 문장들로 실행했을 때 같은 결과를 출력한다.[4]
break, continue 동시 사용
구구단을 출력할 때 짝수 단만 출력하려고 한다. 단, 출력하면서 단보다 곱하는 수가 작거나 같을 때까지만 출력하려는 예제이다.
public class BreakContinueExmaple { public static void main(String[]args) { int num; // 단 int count; // 곱하는 수 for(num = 2; num<10; num++) { // 단의 시작은 2임으로 num의 초기화 값을 2로 한다. if(num%2 != 0) { continue; // 2의 짝수가 아닌 경우 다음 반복으로 넘어간다. } System.out.println(num+"단"); for(count=1; count<10; count++) { if(count > num) { break; // 곱하는 수가 단보다 클 경우 반복문에 빠져나온다. } System.out.println(num+"X"+count+"="+num*count); } System.out.println(); } } }
실행 결과 2단 2X1=2 2X2=4 4단 4X1=4 4X2=8 4X3=12 4X4=16 6단 6X1=6 6X2=12 6X3=18 6X4=24 6X5=30 6X6=26 8단 8X1=8 8X2=16 8X3=24 8X4=32 8X5=40 8X6=48 8X7=56 8X8=64
외부 반복문에 continue문을 넣어 홀수단일 경우에 수행문을 수행하지 않고 다시 조건을 검토하며 내부 반복문에서 곱하는 수가 단수보다 높아지면 break을 통해 반복문을 빠져나오게 구현했다. break문과 continue문은 반복문을 더 세밀한 조건을 설정하여 구현하도록 돕는 역할을 할 수 있음을 알 수 있다.[4]
각주
- ↑ 이나우, 〈제어문이란?〉, 《티스토리》, 2020-12-29
- ↑ hacker dakuo, 〈분기문 ( if, if - else, switch )〉, 《티스토리》, 2010-03-20
- ↑ sehongpark, 〈자바 분기문이란〉, 《클라우드스터딩》, 2019-03-17
- ↑ 4.0 4.1 4.2 나영원, 〈(Java)제어문 - break문, continue문〉, 《벨로그》, 2020-08-24
- ↑ 아라비안나이트, 〈자바/Java break문, continue문, 이름 붙은 반복문 사용법〉, 《티스토리》, 2012-07-12
참고자료
- hacker dakuo, 〈분기문 ( if, if - else, switch )〉, 《티스토리》, 2010-03-20
- 이나우, 〈제어문이란?〉, 《티스토리》, 2020-12-29
- sehongpark, 〈자바 분기문이란〉, 《클라우드스터딩》, 2019-03-17
- 나영원, 〈(Java)제어문 - break문, continue문〉, 《벨로그》, 2020-08-24
- 아라비안나이트, 〈자바/Java break문, continue문, 이름 붙은 반복문 사용법〉, 《티스토리》, 2012-07-12
같이 보기