if문과 같이 조건문에 속하는 switch문은 if 문의 조건식이 특정값과 일치하는 ==의 경우 같은 기능을 하는 switch문으로 표현할 수 있다.
하지만 if 구문의 조건식이 비교연산자로 이뤄져있는 경우는 switch 문으로 표현할 수 없다.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 | if(경품번호 ==1){ 아이폰 당첨; } else if(경품번호==2){ 컴퓨터 당첨; } else if(경품번호==3){ ps4 당첨; } else{ 꽝; } | cs |
경품 추첨기를 예시로 if 문을 사용하여 표현한다면 위와 같이 표현할 수 있고
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 | switch(경품번호){ case1; 아이폰 당첨; break; case2: 컴퓨터 당첨; break; case3; ps4 당첨; break; default; 꽝; } | cs |
이를 switch 문으로 표현한다면 위와 같다.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 | switch(변수 또는 값){ case 값1; 실행구문1; break; case 값2: 실행구문2; break; … default; 모든 조건이 일치하지 않을 때 실행되는 구문; } | cs |
즉 switch 문은 위와 같은 형태로 사용하는 것이다.
참고로 반복되는 형태의 메뉴를 만들거나 할 때 switch 문으로 해당 메뉴를 표현할 수 있다면 if 문으로 작성하는 것 보다 더 간단하게 작성할 수 있다.