제어문(Control Flow Statement)

  • 제어문이란, 프로그램 실행 흐름을 개발자가 원하는 방향으로 바꿀 수 있도록 해주는 것이다.
  • 일반적으로 조건식과 실행 구문인 중괄호(블록, { })으로 구성되어 있다.

제어문의 종류

  • 조건문(decision-making statements): if문, switch문
  • 반복문(looping statements): for문, while문
  • 분기문(branching statements): break, continue, return

조건문-if문

  • 조건식의 결과에 따라 블록 실행여부가 결정
  • 조건식에는 boolean 변수 또는 true/false 값을 산출하는 연산식
  • 조건식이 true이면 블록 실행, false이면 실행하지 않음

if문 종류

  • if문
  • if(조건식) {
    
     // 조건식이 참일 경우 실행 구문
    
    }
    
    • 조건식의 결과에 따라 블록 실행여부가 결정
    • 조건식에는 boolean 변수 또는 true/false 값을 산출하는 연산식
    • 조건식이 true이면 블록 실행, false이면 실행하지 않음
  • if-else문
  • if(조건식) {
    
     // 조건식이 참일 경우 실행 구문
    
    }else {
    
     // if문의 조건식이 거짓일 경우 실행 구문
    
    }
    
    • if문이 false일 경우 else 문으로 넘어감
    • 조건식의 결과에 따라 이 두 개의 블록 중 한 블록만 실행 후 if문을 벗어남
  • if-else if-else문
  • if(조건식A) {
    
     // 조건식A가 참일 경우 실행 구문
    
    } else if(조건식B) {
    
    // 조건식A가 거짓이고, 조건식B가 참일 경우 실행 구문
    
    } else if(조건식C) {
    
    // 조건식A, B가 거짓이고, 조건식C가 참일 경우 실행 구문
    
    } else {
    
    // 모든 조건식이 거짓일 경우 실행 구문
    
    }
    
    • 조건문이 여러 개인 다중 if문
    • if 블록 끝에 else if문을 통해 false 일 경우 계속 다음 else if 문으로 넘어감
    • else if문의 수는 제한이 없다
    • 여러 개의 조건식 중 true가 되는 블록만 실행하고 전체 if문을 벗어남
  • 중첩 if문
  • if(조건식 A) {
         // 조건식 A가 참일 경우 실행 구문
         if(조건식 B) {
                    // 조건식 A와 B가 참일 경우 실행 구문
         }
    }
    
    • if문 블록 내에 또 다른 if문을 사용하는 것
    • 중첩의 단계는 제한이 없어 실행흐름을 잘 판단하여 작성
  • 참고: Oracle JAVA Documentation에서는 if-then (=if)문과 if-then-else(if-else문과 if-else if-else문)문 두개로 나눈다. (여기서는 if-else문 설명을 위해 좀더 자세히 분류했다.)

switch문

  • if문과 달리 변수가 어떤 값을 갖느냐에 따라 실행문이 선택
  • if문의 경우의 수가 많아질 수록 switch 문을 사용하는 것이 효과적
  • 괄호 안의 동일한 값을 갖는 case로 가서 실행문을 실행
  • 동일한 값의 case가 없으면 default로 가서 실행문 실행(생략 가능)
  • 변수 값에 따라 case가 실행된 후 제어문을 빠져나가기 위해 break; 사용

형식

switch(변수) {
	case 값1:
		실행문;
		break;
	case 값2:
		실행문;
		break;
	default: // 생략 가능
		실행문;
		break;
}

+ Recent posts