1. బహుళ-ఎంపిక ఆపరేటర్:switch

జావా తన తాత (C++) నుండి వారసత్వంగా పొందిన మరొక ఆసక్తికరమైన ఆపరేటర్‌ని కలిగి ఉంది. మేము ప్రకటన గురించి మాట్లాడుతున్నాము switch. మేము దీనిని బహుళ-ఎంపిక ఆపరేటర్ అని కూడా పిలుస్తాము. ఇది కొద్దిగా గజిబిజిగా కనిపిస్తుంది:

switch(expression)
{
   case value1: code1;
   case value2: code2;
   case value3: code3;
}

కుండలీకరణాల్లో వ్యక్తీకరణ లేదా వేరియబుల్ సూచించబడుతుంది. వ్యక్తీకరణ యొక్క విలువ అయితే value1, జావా యంత్రం అమలు చేయడం ప్రారంభిస్తుంది code1. వ్యక్తీకరణ సమానంగా ఉంటే value2, అమలు జంప్ అవుతుంది code2. వ్యక్తీకరణ సమానంగా ఉంటే value3, అప్పుడు code3అమలు చేయబడుతుంది.

ఉదాహరణ:

కోడ్ కన్సోల్ అవుట్‌పుట్
int temperature = 38;

switch(temperature)
{
   case 36: System.out.println("Low");
   case 37: System.out.println("Normal");
   case 38: System.out.println("High");
}
High

2. breakప్రకటనలోswitch

స్టేట్‌మెంట్ యొక్క ముఖ్యమైన లక్షణం switchఏమిటంటే, ప్రోగ్రామ్ కేవలం అవసరమైన లైన్‌కి (అవసరమైన కోడ్ బ్లాక్‌కి) జంప్ చేసి, ఆపై కోడ్ యొక్క అన్ని బ్లాక్‌లను చివరి వరకు అమలు చేస్తుంది switch. లో విలువకు సంబంధించిన కోడ్ బ్లాక్ మాత్రమే కాదు switch, చివరి వరకు కోడ్ యొక్క అన్ని బ్లాక్‌లు switch.

ఉదాహరణ:

కోడ్ కన్సోల్ అవుట్‌పుట్
int temperature = 36;

switch(temperature)
{
   case 36: System.out.println("Low");
   case 37: System.out.println("Normal");
   case 38: System.out.println("High");
}
Low
Normal
High

36 ఉష్ణోగ్రత ఇచ్చినట్లయితే, ప్రోగ్రామ్ switchస్టేట్‌మెంట్‌లోకి ప్రవేశించి, మొదటి బ్లాక్ కోడ్ (మొదటి సందర్భం)కి వెళ్లి అమలు చేస్తుంది, ఆపై మిగిలిన కోడ్ బ్లాక్‌లను ఉల్లాసంగా అమలు చేస్తుంది.

మీరు ఒక కోడ్ బ్లాక్‌ని మాత్రమే అమలు చేయాలనుకుంటే — సరిపోలిన కేస్‌తో అనుబంధించబడిన కోడ్ బ్లాక్ — అప్పుడు మీరు బ్లాక్‌ను స్టేట్‌మెంట్‌తో ముగించాలి break;

ఉదాహరణ:

కోడ్ కన్సోల్ అవుట్‌పుట్
int temperature = 36;

switch(temperature)
{
   case 36:
      System.out.println("Low");
      break;
   case 37:
      System.out.println("Normal");
      break;
   case 38:
      System.out.println("High");
}
Low

breakమీరు స్టేట్‌మెంట్ యొక్క చివరి సందర్భంలోని వదిలివేయవచ్చు switch, ఎందుకంటే ఆ బ్లాక్ బ్రేక్ స్టేట్‌మెంట్‌తో లేదా లేకుండా చివరిది.


3. డిఫాల్ట్ చర్య:default

మరో ముఖ్యమైన అంశం. switchకుండలీకరణాల్లోని వ్యక్తీకరణతో జాబితా చేయబడిన సందర్భాలు ఏవీ సరిపోలకపోతే ఏమి జరుగుతుంది ?

సరిపోలే సందర్భం కనుగొనబడకపోతే, మిగిలిన స్టేట్‌మెంట్ switchదాటవేయబడుతుంది మరియు switchస్టేట్‌మెంట్‌ను ముగించిన కర్లీ బ్రేస్ తర్వాత ప్రోగ్రామ్ అమలును కొనసాగిస్తుంది.

switchమీరు ఒక ప్రకటనలో ఇతర శాఖ వలె ప్రవర్తించే ప్రకటనను కూడా చేయవచ్చు if-else. దీన్ని చేయడానికి, defaultకీవర్డ్ ఉపయోగించండి.

caseబ్లాక్‌లోని s ఏదీ switchవ్యక్తీకరణ విలువతో సరిపోలకపోతే మరియు బ్లాక్‌ను switchకలిగి ఉంటే default, డిఫాల్ట్ బ్లాక్ అమలు చేయబడుతుంది. ఉదాహరణ:

కోడ్ కన్సోల్ అవుట్‌పుట్
int temperature = 40;
switch(temperature)
{
   case 36:
      System.out.println("Low");
      break;
   case 37:
      System.out.println("Normal");
      break;
   case 38:
      System.out.println("High");
      break;
   default:
      System.out.println("Call an ambulance");
}
Call an ambulance

4. పోల్చడం switchమరియుif-else

ప్రకటన switchకొంతవరకు ఒక ప్రకటనను పోలి ఉంటుంది if-else, మరింత క్లిష్టంగా ఉంటుంది.

మీరు ఎప్పుడైనా స్టేట్‌మెంట్ కోడ్‌ని switchబహుళ ifస్టేట్‌మెంట్‌లుగా తిరిగి వ్రాయవచ్చు. ఉదాహరణ:

స్విచ్తో కోడ్ if-elseతో కోడ్
int temperature = 40;
switch(temperature)
{
   case 36:
      System.out.println("Low");
      break;
   case 37:
      System.out.println("Normal");
      break;
   case 38:
      System.out.println("High");
      break;
   default:
      System.out.println("Call an ambulance");
}
int temperature = 40;

if (temperature == 36)
{
   System.out.println("Low");
}
else if (temperature == 37)
{
   System.out.println("Normal");
}
else if (temperature == 38)
{
   System.out.println("High");
}
else
{
   System.out.println("Call an ambulance");
}

ఎడమ వైపున ఉన్న కోడ్ కుడి వైపున ఉన్న కోడ్ వలె పని చేస్తుంది.

ఒక ప్రకటన ప్రతి ప్రత్యేక సందర్భంలో వివిధ సంక్లిష్ట వ్యక్తీకరణలను కలిగి ఉన్నప్పుడు బహుళ స్టేట్‌మెంట్‌ల గొలుసు if-elseఉత్తమం .if



5. స్టేట్‌మెంట్‌లో ఏ వ్యక్తీకరణలను ఉపయోగించవచ్చు switch?

caseస్టేట్‌మెంట్‌లో అన్ని రకాలను లేబుల్‌లుగా ఉపయోగించలేరు switch. మీరు ఈ క్రింది రకాల అక్షరాలను ఉపయోగించవచ్చు:

  • పూర్ణాంకాల రకాలు: byte, short,intlong
  • 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. కేవలం విలువ రాస్తే సరిపోతుంది.