switch ~ case
- 수식 혹은 변수의 값을 확인하여 수행되엉질 부분으로 바로 이동해서 수행하는 제어문
switch ( 수식 혹은 변수 ) {
case 값1 :
코드
case 값2 :
코드
default :
코드
default는 아무것도 해당 사항이 없을 때 동작합니다.
int a = 2;
switch( a ) {
case 1 :
코드
case 2 :
코드
default :
코드
이때 switch에 들어는 a값이 2 임으로 case 2 에 들어있는 코드를 전부 실행하고 코드의 순서대로 밑으로 내려가먼서 순차적으로 실행됩니다. 즉, case1은 해당되지 않음으로 제외하고 case 2부터 실행됩니다.
만약 case 2 만 실행되게 하고 싶다면,
case N :
코드
break;
break 문을 코드 끝에 추가해주면 switch문을 탈출하게 됩니다.
if문과의 다른점
- if ~ else if ~ else if ~ else 문 같은 경우 조건이 참인 부분을 만날 때 까지 위에서 부터 차례 차례 비교하여 내려오기 때문에 참인 조건이 하단부에 있을 경우 작업량이 많아진다.
- switch ~ case 같은 경우에는 수식이나 변수의 값을 확인하여 값에 해당 하는 부분으로 바로 이동하므로 비교하는데 까지 걸리는 작업량이 많지가 않다.
- 단 ,switch ~ case 는 수식이나 변수의 값이 정수일 경우에만 사용이 가능하다.
응용하면 숫자 두개와 연산자를 받아서 계산하는 프로그램 을 만들 수 있습니다.