Դաս 10.4 Objective-C։ switch statement

0

switch statement-ը թույլ է տալիս ստուգել փոփոխականը՝ համեմատելով արժեքների ցուցակի հավասարության հետ :

Յուրաքանչյուր արժեք կոչվում է case:

Syntax-ը հետևյալն է՝

switch(expression){
    case constant-expression  :
       statement(s);
       break; /* optional */
    case constant-expression  :
       statement(s);
       break; /* optional */
  
    /* you can have any number of case statements */
    default : /* Optional */
       statement(s);
}

Switch հայտարարության վերաբերյալ կան հետևյալ կանոնները՝

  • Switch հայտարարության մեջ օգտագործված expression –ը պետք է լինի  integral կամ enumerated տիպի կամ be of a class type in which the class has a single conversion function to an integral or enumerated type.
  • Switch-ում կարող են լինել ցանկացած թվով case-եր: Յուրաքանչյուր case-ի հաջորդում է արժեք, որը պետք է համեմատվի և վերջակետ:
  • case-ի constant-expression-ը պետք է լինի նույն data type-ի ինչ որ switch-ի փոփոխականն է, և պիտի լինի constant կամ literal:
  • Երբ switched on փոփոխականը հավասար է case-ին, այդ case-ին հաջորդող հայտարարությունները կիրականացվեն մինչև breakհայտարարությանը հասնելը:
  • Հասնելովbreak հայտարարությանը՝ switch-ը ընդհատվում է և flow of control-ն անցնում է switch statement-ին հաջորդող տողին:
  • Ոչ բոլոր case-երին է անհրաժեշտ break: Եթե break չկա  flow of control –ը անցնում է հաջորդ case-երին մինչև որ հասնում է break –ի: is
  • Switch հայտարարությունը կարող է ունենալoptional default case, որը պետք է լինի  switch-ի վերջում: default case-ը կարող է կիրառվել առաջադրանքը կատարելու համար, երբ case-երից ոչ մեկը ճիշտ չէ:  default case-ում պետք չէ ոչ մի break:

Flow Diagram

switch_statement

Օրինակ՝

#import <Foundation/Foundation.h>
 
int main ()
{
   /* local variable definition */
   char grade = 'B';

   switch(grade)
   {
   case 'A' :
      NSLog(@"Excellent!\n" );
      break;
   case 'B' :
   case 'C' :
      NSLog(@"Well done\n" );
      break;
   case 'D' :
      NSLog(@"You passed\n" );
      break;
   case 'F' :
      NSLog(@"Better try again\n" );
      break;
   default :
      NSLog(@"Invalid grade\n" );
   }
   NSLog(@"Your grade is  %c\n", grade );
 
   return 0;
}

Երբ  վերոնշյալ կոդը կոմպիլացվում և իրականանում է, այն տալիս է հետևյալ արդյունքը՝

2013-09-07 22:44:26.928 demo[17555] Well done
2013-09-07 22:44:26.929 demo[17555] Your grade is  B

Հարգելի ընթերցող, խնդրում ենք չմոռանալ like տալ մեր ֆեյսբուքյան էջին, քանի որ նորությունների մեծ մասը առաջինը տեղադրվում է հենց այնտեղ։ Ինչպես նաև հետևեք մեզ այլ սոցիալական ցանցերում և, իհարկե, գրանցվեք մեր բլոգում։

Share.