1. బహుళ-ఎంపిక ఆపరేటర్:switch
జావా తన తాత (C++) నుండి వారసత్వంగా పొందిన మరొక ఆసక్తికరమైన ఆపరేటర్ని కలిగి ఉంది. మేము ప్రకటన గురించి మాట్లాడుతున్నాము 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
బ్లాక్లోని 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