33 – 제어문(switch)

앞에서 살펴본 if문의 경우에는 참과 거짓, 단 둘의 경우에 대해서만 처리를 하는 데 적합한 반면, switch문의 경우에는 다양한 조건을 처리하는 데 적합하다. 해당 수식의 값에 따라 여러 방향으로 분기하기 위한 분기문이다. 구조를 한번에 보기 쉽도록 구성된 예시를 보면서 문법의 설명을 진행하겠다.

스크린샷 2017-02-16 오후 3.10.35

숫자 1,2,3을 넣으면 해당되는 문장이 출력되고, 그 외에 것들이 들어오면 hello others가 출력되는 프로그램이다. 입력된 숫자 i가 수식이고, i의 조건이 1,2,3인지를 확인하는 것이 바로 case 문이다. case의 상수식 조건에 일치되면 그 문장을 실행을 하게 된다.

그리고 그 외에 어디에도 해당되지 않는 경우에는 default에 있는 값이 실행된다. default의 경우에는 실제로 작성하지 않아도 된다. 즉, 생략이 가능하다.

근데 이 프로그램의 경우, 실행을 하게 되면 아래와 같이 실행이 된다.

정상이다. 일치하는 상수식에 포함된 문장만 실행되지 않고 아래 쪽 모든 문장을 실행하게 된 것이다. 이를 해결하기 위해서는 해당 실행 문장이 실행이 끝났다는 것을 표현해주는 break문을 작성해 줘야 한다. break문을 작성하여 수정한 예시와 그 결과는 아래와 같다.

이제는 해당되는 상수식을 실행한 다음에 switch문을 빠져나온 것을 볼 수 있다. 여러 문장을 실행하기 위해서는 그냥 case문 아래에 여러 문장을 작성하고 마지막에 break만 있으면 된다.

답글 남기기

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다

이 사이트는 스팸을 줄이는 아키스밋을 사용합니다. 댓글이 어떻게 처리되는지 알아보십시오.