1. एकाधिक-निवड ऑपरेटर:switch
Java कडे आणखी एक मनोरंजक ऑपरेटर आहे जो त्याला त्याच्या ग्रँडपप्पी (C++) कडून वारसा मिळाला आहे. आम्ही विधानाबद्दल बोलत आहोत switch
. आम्ही त्याला बहु-निवड ऑपरेटर देखील म्हणू शकतो. हे थोडे अवजड दिसते:
switch(expression)
{
case value1: code1;
case value2: code2;
case value3: code3;
}
एक अभिव्यक्ती किंवा चल कंसात सूचित केले आहे. अभिव्यक्तीचे मूल्य असल्यास value1
, Java मशीन कार्यान्वित करण्यास प्रारंभ करते 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
जर ब्लॉकमधील कोणतेही s switch
अभिव्यक्तीच्या मूल्याशी जुळत नसेल आणि ब्लॉक switch
असेल तर default
, डीफॉल्ट ब्लॉक कार्यान्वित केला जाईल. उदाहरण:
कोड | कन्सोल आउटपुट |
---|---|
|
|
4. तुलना करणे switch
आणिif-else
विधान switch
काहीसे विधानासारखे आहे if-else
, फक्त अधिक क्लिष्ट आहे.
तुम्ही नेहमी विधानाचा कोड switch
एकाधिक if
विधाने म्हणून पुन्हा लिहू शकता. उदाहरण:
स्विचसह कोड | if-else सह कोड |
---|---|
|
|
डावीकडील कोड उजवीकडील कोड प्रमाणेच कार्य करेल.
एकाधिक विधानांची साखळी if-else
श्रेयस्कर असते जेव्हा if
विधानात प्रत्येक स्वतंत्र प्रकरणात विविध जटिल अभिव्यक्ती असतात.
5. विधानात कोणती अभिव्यक्ती वापरली जाऊ शकते switch
?
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