앞에서 살펴본 if문의 경우에는 참과 거짓, 단 둘의 경우에 대해서만 처리를 하는 데 적합한 반면, switch문의 경우에는 다양한 조건을 처리하는 데 적합하다. 해당 수식의 값에 따라 여러 방향으로 분기하기 위한 분기문이다. 구조를 한번에 보기 쉽도록 구성된 예시를 보면서 문법의 설명을 진행하겠다.
숫자 1,2,3을 넣으면 해당되는 문장이 출력되고, 그 외에 것들이 들어오면 hello others가 출력되는 프로그램이다. 입력된 숫자 i가 수식이고, i의 조건이 1,2,3인지를 확인하는 것이 바로 case 문이다. case의 상수식 조건에 일치되면 그 문장을 실행을 하게 된다.
그리고 그 외에 어디에도 해당되지 않는 경우에는 default에 있는 값이 실행된다. default의 경우에는 실제로 작성하지 않아도 된다. 즉, 생략이 가능하다.
근데 이 프로그램의 경우, 실행을 하게 되면 아래와 같이 실행이 된다.
정상이다. 일치하는 상수식에 포함된 문장만 실행되지 않고 아래 쪽 모든 문장을 실행하게 된 것이다. 이를 해결하기 위해서는 해당 실행 문장이 실행이 끝났다는 것을 표현해주는 break문을 작성해 줘야 한다. break문을 작성하여 수정한 예시와 그 결과는 아래와 같다.
이제는 해당되는 상수식을 실행한 다음에 switch문을 빠져나온 것을 볼 수 있다. 여러 문장을 실행하기 위해서는 그냥 case문 아래에 여러 문장을 작성하고 마지막에 break만 있으면 된다.