1. बहु-विकल्प ऑपरेटर:switch
जावा का एक और दिलचस्प ऑपरेटर है जो इसे अपने दादाजी (सी ++) से विरासत में मिला है। हम बात कर रहे हैं switch
बयान की। हम इसे बहुविकल्पी संचालिका भी कह सकते हैं। यह थोड़ा बोझिल लगता है:
switch(expression)
{
case value1: code1;
case value2: code2;
case value3: code3;
}
कोष्ठकों के भीतर एक अभिव्यक्ति या चर इंगित किया गया है। यदि अभिव्यक्ति का मान है value1
, तो जावा मशीन निष्पादित करना शुरू कर देती है code1
। यदि व्यंजक के बराबर है value2
, तो निष्पादन कूद जाता है code2
। अगर अभिव्यक्ति के बराबर है value3
, तो code3
निष्पादित किया जाता है।
उदाहरण:
कोड | कंसोल आउटपुट |
---|---|
|
|
2. break
कथन मेंswitch
एक switch
बयान की एक महत्वपूर्ण विशेषता यह है कि प्रोग्राम केवल आवश्यक लाइन (आवश्यक कोड ब्लॉक) पर कूदता है और फिर कोड के सभी ब्लॉकों को अंत तक निष्पादित करता है switch
। में मान के अनुरूप कोड का ब्लॉक ही नहीं switch
, बल्कि कोड के अंत तक कोड के सभी ब्लॉक switch
।
उदाहरण:
कोड | कंसोल आउटपुट |
---|---|
|
|
36 के तापमान को देखते हुए, प्रोग्राम switch
स्टेटमेंट में प्रवेश करेगा, कोड के पहले ब्लॉक (पहला मामला) पर कूदेगा और निष्पादित करेगा, और फिर कोड के बाकी ब्लॉकों को खुशी से निष्पादित करेगा।
यदि आप कोड के केवल एक ब्लॉक को निष्पादित करना चाहते हैं - मिलान किए गए मामले से जुड़े कोड का ब्लॉक - तो आपको ब्लॉक को एक break
बयान के साथ समाप्त करने की आवश्यकता है;
उदाहरण:
कोड | कंसोल आउटपुट |
---|---|
|
|
break
आप स्टेटमेंट के अंतिम मामले में छोड़ सकते हैं switch
, क्योंकि वह ब्लॉक ब्रेक स्टेटमेंट के साथ या उसके बिना अंतिम है।
3. डिफ़ॉल्ट क्रिया:default
एक और महत्वपूर्ण बिंदु। क्या होता है यदि सूचीबद्ध मामलों में से कोई भी switch
कोष्ठक में अभिव्यक्ति से मेल नहीं खाता है?
यदि कोई मैचिंग केस नहीं मिलता है, तो बाकी स्टेटमेंट को छोड़ दिया जाता है, और कर्ली ब्रेस के स्टेटमेंट को switch
समाप्त करने के बाद प्रोग्राम का निष्पादन जारी रहेगा।switch
उस ने कहा, आप एक बयान switch
में अन्य शाखा की तरह एक बयान भी व्यवहार कर सकते हैं। if-else
ऐसा करने के लिए, default
कीवर्ड का उपयोग करें।
यदि ब्लॉक case
में से कोई भी switch
अभिव्यक्ति के मान से मेल नहीं खाता है और ब्लॉक switch
है default
, तो डिफ़ॉल्ट ब्लॉक निष्पादित किया जाएगा। उदाहरण:
कोड | कंसोल आउटपुट |
---|---|
|
|
4. तुलना करना switch
औरif-else
कथन switch
कुछ हद तक एक कथन के समान है if-else
, केवल अधिक जटिल है।
आप हमेशा एक स्टेटमेंट के कोड को switch
कई if
स्टेटमेंट के रूप में फिर से लिख सकते हैं। उदाहरण:
स्विच के साथ कोड | if-else के साथ कोड |
---|---|
|
|
बाईं ओर का कोड ठीक उसी तरह काम करेगा जैसे दाईं ओर का कोड।
एकाधिक if-else
बयानों की एक श्रृंखला बेहतर होती है जब एक if
बयान में प्रत्येक अलग मामले में विभिन्न जटिल अभिव्यक्तियां होती हैं।
switch
5. किसी कथन में किन भावों का प्रयोग किया जा सकता है ?
case
किसी switch
कथन में सभी प्रकारों को लेबल के रूप में उपयोग नहीं किया जा सकता है । आप निम्न प्रकार के शाब्दिक उपयोग कर सकते हैं:
- पूर्णांक प्रकार:
byte
,short
,int
,long
char
String
- किसी भी
enum
प्रकार
आप मामला लेबल के रूप में किसी अन्य प्रकार का उपयोग नहीं कर सकते हैं ।
enum
एक अंदर एक बयान का उपयोग करने का उदाहरण switch
:
Day day = Day.MONDAY;
switch (day)
{
case MONDAY:
System.out.println("Monday");
break;
case TUESDAY:
System.out.println("Tuesday");
break;
case WEDNESDAY:
System.out.println("Wednesday");
break;
case THURSDAY:
System.out.println("Thursday");
break;
case FRIDAY:
System.out.println("Friday");
break;
case SATURDAY:
System.out.println("Saturday");
break;
case SUNDAY:
System.out.println("Sunday");
break;
}
नोट: यदि आप enum
किसी कथन के अंदर का उपयोग करते हैं, तो आपको लेबल switch
में प्रत्येक मान के सामने वर्ग का नाम लिखने की आवश्यकता नहीं है। case
केवल मान लिखना ही काफी है।
GO TO FULL VERSION