검수요청.png검수요청.png

분기문

위키원
이동: 둘러보기, 검색

분기문조건문반복문에 중간에서 주어진 조건의 흐름을 바꿀 수 있는 구문이다.[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]

각주

  1. 이나우, 〈제어문이란?〉, 《티스토리》, 2020-12-29
  2. hacker dakuo, 〈분기문 ( if, if - else, switch )〉, 《티스토리》, 2010-03-20
  3. sehongpark, 〈자바 분기문이란〉, 《클라우드스터딩》, 2019-03-17
  4. 4.0 4.1 4.2 나영원, 〈(Java)제어문 - break문, continue문〉, 《벨로그》, 2020-08-24
  5. 아라비안나이트, 〈자바/Java break문, continue문, 이름 붙은 반복문 사용법〉, 《티스토리》, 2012-07-12

참고자료

같이 보기


  검수요청.png검수요청.png 이 분기문 문서는 프로그래밍에 관한 글로서 검토가 필요합니다. 위키 문서는 누구든지 자유롭게 편집할 수 있습니다. [편집]을 눌러 문서 내용을 검토·수정해 주세요.