스위치 연산자

표현식 값을 모든 케이스 변수의 상수와 비교하고 표현식 값에 해당하는 연산자에 컨트롤을 전달합니다. 케이스의 각 변수는 정수형 상수, 리터럴 상수 또는 상수 식을 사용하여 표시할 수 있습니다. 상수 식에 변수 또는 함수 호출을 포함할 수 없습니다. 스위치 연산자의 표현식은 정수 형식(int 또는 unt)이어야 합니다.

switch(expression)
  {
   case constant: operators
   case constant: operators
      ...
   default: operators
  }

다음과 같은 경우 default 레이블로 표시된 연산자가 실행됩니다: case 연산자에 표현식 값과 같은 상수가 없는 경우. default 변수를 반드시 선언해서는 안 되며 반드시 마지막 변수가 되어서도 안 됩니다. 표현식 값에 해당하는 상수가 없고 default 변수를 사용할 수 없는 경우 작업이 실행되지 않습니다.

상수가 포함된 case 키워드는 레이블일 뿐이며, 일부 case 변수에 대해 연산자가 실행되는 경우, 프로그램은 break 연산자가 발생할 때까지 이후의 모든 변형 연산자를 추가로 실행합니다. 여러 변종으로 연산자 시퀀스를 바인딩할 수 있습니다.

컴파일하는 동안 상수 식이 계산됩니다. 하나의 스위치 연산자에 있는 두 상수는 동일한 값을 가질 수 없습니다.

예제:

//--- 첫 번째 예제
switch(x)
  {
   case 'A':
      Print("CASE A");
      break;
   case 'B':
   case 'C':
      Print("CASE B or C");
      break;
   default:
      Print("NOT A, B or C");
      break;
  }
 
//---  두번째 예제
   string res="";
   int i=0;
   switch(i)
     {
      case 1:
         res=i;break;
      default:
         res="default";break;
      case 2:
         res=i;break;
      case 3:
         res=i;break;
    }
   Print(res);
/*
   Result
   default
*/

더 보기

변수 초기화, 가시성 범위 및 변수 수명, 오브젝트 생성 및 삭제