Java में switch case स्टेटमेंट

switch case statement in java

Switch Case Statement in Java

जब हमारे पास कई विकल्प (multiple options) होते है तब switch case statements का उपयोग किया जाता है और हमे प्रत्येक विकल्प के लिए एक अलग कार्य करने की आवश्यकता होती है| Switch case statement का syntax कुछ इस प्रकार दिखाई देता है –

switch (variable or an integer expression)
{
   case constant:
   //Java code;
   case constant:
   //Java code;
   default:
   //Java code;
}

switch case statements ज्यादातर break statement के साथ उपयोग किया जाते है| यहाँ हम पहले बिना break statement के switch case statements का एक उदाहरण देखेंगे और फिर break statement के साथ switch case statements का एक उदाहरण देखेंगे|

बिना break statement के switch case statements का उदाहरण

public class SwitchCaseExample1 {

  public static void main(String args[]){
   int num=2;
   switch(num+2)
   {
    case 1:
	 System.out.println("Case1: Value is: "+num);
	case 2:
	 System.out.println("Case2: Value is: "+num);
	case 3:
	 System.out.println("Case3: Value is: "+num);
    default:
	 System.out.println("Default: Value is: "+num);
   }
  }
}

परिणाम (Output)
Default: Value is: 2

स्पष्टीकरण – यहाँ पर switch में एक expression दिया गया है यहाँ पर कोई variable भी लिया जा सकता है| उपर दिए गए उदाहरण में expression, num+2 लिया गया है, जहा num का मान 2 लिया गया है expression, num+2 निष्पादित (execute) होने के बाद परीणाम 4 देगा|चुकी मान (value) 4 के साथ कोई case परिभाषित नहीं है, इसीलिए default case को निष्पादित (execute) हुआ| यही कारण है की हमे switch case में default का उपयोग करना चाहिए, क्युकि यदि कोई केस मेल नहीं खाता तो default ब्लॉक निष्पादित (execute) हो जाता है|

Switch Case Flow Diagram

variable, मान (value) या expression जो स्विच कोष्टक में लिखे गए है सबसे पहले उन्ही का मूल्यांकन (evaluation) होता है और परीणाम (result) के आधार पर उससे सम्बंधित केस ब्लॉक निष्पादित (execute) होता है|

switch case flow diagram


Switch case में break statements

switch case में break statement वैकल्पिक है लेकिन switch case में लगभग हर बार इसका उपयोग किया जाता है| break statement के बारे में चर्चा करने से पहले, आइये नीचे दिए गए उदाहरण पर एक नज़र डाले जहा break statement का उपयोग नहीं किया गया है|

public class SwitchCaseExample2 {

  public static void main(String args[]){
   int i=2;
   switch(i)
   {
	 case 1:
	  System.out.println("Case1 ");
	 case 2:
	  System.out.println("Case2 ");
	 case 3:
	  System.out.println("Case3 ");
	 case 4:
      System.out.println("Case4 ");
	 default:
	  System.out.println("Default ");
   }
  }
}

परिणाम (Output)
Case2
Case3
Case4
Default

उपर दिए गए program में हमने switch करने के लिए पूर्णांक मान ( integer value) 2 को पास किया है, इसलिए control, case 2 पर गया, हालाकि case 2 के बाद program में break statement नहीं है जिसके कारण program में case 2 से अंत तक के सारे statements निष्पादित (execute) हुए इस समस्या के निवारण हेतु break statement का उपयोग किया जाता है|

अब, उपर दिए गए उदाहरण को break statement के उपयोग के साथ देखते है –

public class SwitchCaseExample2 {
  public static void main(String args[]){
   int i=2;
   switch(i)
   {
	 case 1:
	  System.out.println("Case1 ");
	  break;
	 case 2:
	  System.out.println("Case2 ");
	  break;
	 case 3:
	  System.out.println("Case3 ");
	  break;
	 case 4:
      System.out.println("Case4 ");
      break;
	 default:
	  System.out.println("Default ");
   }
  }
}

परिणाम (Output)
Case2

अब आप देख सकते है कि केवल case 2 को निष्पादित (execute) किया गया बाकि cases को नज़रअंदाज कर दिया गया|


यहाँ पर default के बाद break statement का उपयोग क्यों नहीं किया गया ?

default के बाद control स्वतः ही switch के बाहर आ जाता है इसलिए यहाँ default के बाद break का उपयोग नहीं किया गया हालाकि यदि आप चाहे तो default के बाद भी break का उपयोग कर सकते है|

switch case से सम्बंधित कुछ मुख्य बाते

  • case को हमेशा आर्डर 1,2,3…… में लिखना जरुरी नहीं होता, case keyword के बाद कोई भी पूर्णांक मान (integer value) हो सकता है, इसके साथ ही case को हमेशा को बड़ते क्रम में लिखने की आवश्यकता नहीं होती, आप उन्हें आवश्यकता के आधार पर किसी भी क्रम में निर्दिष्ट कर सकते है|
  • switch case में अक्षरों (characters) का भी उपयोग कर सकते है|

उदाहरण के लिए

public class SwitchCaseExample2 {

  public static void main(String args[]){
   char ch='b';
   switch(ch)
   {
	 case 'd':
	  System.out.println("Case1 ");
	  break;
	 case 'b':
	  System.out.println("Case2 ");
	  break;
	 case 'x':
	  System.out.println("Case3 ");
	  break;
	 case 'y':
      System.out.println("Case4 ");
      break;
	 default:
	  System.out.println("Default ");
   }
  }
}
  • switch के अंदर दिए गए expression में मान (value) constant होना चाहिए अन्यथा यह मान्य नहीं होगा|

switch के लिए valid expression :-
switch(1+2+23)
switch(1*2+3%4)

switch के लिए invalid expression :-
switch(ab+cd)
switch(a+b+c)

  • Java में nesting switch statements को अनुमति दी गयी है जिसका अर्थ है कि आप किसी switch के अंदर किसी अन्य switch statement का उपयोग कर सकते है, हालाकि program में nested switch statement का उपयोग करने से बचना चाहिए क्युकि यह program को जटिल और कम पठनीय (less readable) बनाता है|

हमेशा ध्यान रखिये की switch case की सहायता से बनाये गए हर प्रोग्राम को आप if else स्टेटमेंट द्वारा भी बना सकते हैं, पर if else स्टेटमेंट के द्वारा बनाये गए हर प्रोग्राम को switch case स्टेटमेंट के द्वारा नहीं बनाया जा सकता हैं क्यूंकि switch case स्टेटमेंट में कभी भी condition का प्रयोग नही किया जा सकता हैं|


error: Content is protected !!