If-else మరియు స్విచ్ మధ్య వ్యత్యాసం
విషయము
“If-else” మరియు “స్విచ్” రెండూ ఎంపిక ప్రకటనలు. ఎంపిక స్టేట్మెంట్లు, షరతు “నిజం” లేదా “తప్పుడు” అనే దాని ఆధారంగా ప్రోగ్రామ్ యొక్క ప్రవాహాన్ని నిర్దిష్ట స్టేట్మెంట్ బ్లాక్కు బదిలీ చేయండి. If-else మరియు స్విచ్ స్టేట్మెంట్ల మధ్య ప్రాథమిక వ్యత్యాసం ఏమిటంటే, if-else స్టేట్మెంట్ “if స్టేట్మెంట్స్లో వ్యక్తీకరణ యొక్క మూల్యాంకనం ఆధారంగా స్టేట్మెంట్ల అమలును ఎంచుకుంటుంది”. స్విచ్ స్టేట్మెంట్స్ “కీబోర్డ్ కమాండ్ ఆధారంగా స్టేట్మెంట్ యొక్క అమలును తరచుగా ఎంచుకుంటుంది”.
- పోలిక చార్ట్
- నిర్వచనం
- కీ తేడాలు
- ముగింపు
పోలిక చార్ట్
పోలిక కోసం ఆధారం | ఉంటే- else | స్విచ్ |
---|---|---|
ప్రాథమిక | స్టేట్మెంట్ ఉంటే వ్యక్తీకరణ లోపల ఉన్న అవుట్పుట్ మీద ఆధారపడి ఏ స్టేట్మెంట్ ఎగ్జిక్యూట్ అవుతుంది. | ఏ ప్రకటన అమలు చేయబడుతుందో వినియోగదారు నిర్ణయిస్తారు. |
ఎక్స్ప్రెషన్ | if-else స్టేట్మెంట్ బహుళ ఎంపికల కోసం బహుళ స్టేట్మెంట్ ఉపయోగిస్తుంది. | స్విచ్ స్టేట్మెంట్ బహుళ ఎంపికల కోసం ఒకే వ్యక్తీకరణను ఉపయోగిస్తుంది. |
టెస్టింగ్ | if-else సమానత్వం కోసం మరియు తార్కిక వ్యక్తీకరణ కోసం స్టేట్మెంట్ పరీక్ష. | సమానత్వం కోసం మాత్రమే స్టేట్మెంట్ పరీక్షను మార్చండి. |
మూల్యాంకనం | స్టేట్మెంట్ పూర్ణాంకం, అక్షరం, పాయింటర్ లేదా ఫ్లోటింగ్-పాయింట్ రకం లేదా బూలియన్ రకాన్ని అంచనా వేస్తే. | స్విచ్ స్టేట్మెంట్ అక్షరం లేదా పూర్ణాంక విలువను మాత్రమే అంచనా వేస్తుంది. |
అమలు యొక్క సీక్వెన్స్ | స్టేట్మెంట్ ఎగ్జిక్యూట్ చేయబడితే లేదా స్టేట్మెంట్ ఎగ్జిక్యూట్ చేయబడితే. | బ్రేక్ స్టేట్మెంట్ కనిపించే వరకు లేదా స్విచ్ స్టేట్మెంట్ ముగింపు వచ్చేవరకు స్విచ్ స్టేట్మెంట్ ఒకదాని తరువాత ఒకటి అమలు చేస్తుంది. |
డిఫాల్ట్ ఎగ్జిక్యూషన్ | స్టేట్మెంట్లు తప్పుగా ఉంటే లోపల ఉన్న పరిస్థితి ఉంటే, డిఫాల్ట్గా వేరే స్టేట్మెంట్ సృష్టించబడితే అది అమలు అవుతుంది. | స్విచ్ స్టేట్మెంట్లలోని పరిస్థితి ఏ సందర్భాలతోనూ సరిపోలకపోతే, ఉదాహరణకు, డిఫాల్ట్ స్టేట్మెంట్లు సృష్టించబడితే అమలు చేయబడతాయి. |
సవరించడం | నెస్టెడ్ if-else స్టేట్మెంట్ ఉపయోగించినట్లయితే, if-else స్టేట్మెంట్ను సవరించడం కష్టం. | స్విచ్ కేసులను సులభంగా గుర్తించడం వలన వాటిని సవరించడం సులభం. |
If-else యొక్క నిర్వచనం
If-else స్టేట్మెంట్లు OOP లోని ఎంపిక స్టేట్మెంట్లకు చెందినవి. If-else స్టేట్మెంట్ల యొక్క సాధారణ రూపం క్రింది విధంగా ఉంటుంది
(వ్యక్తీకరణ) {ప్రకటన (లు)} else {ప్రకటన (లు) if
ఇక్కడ “if” మరియు “else” కీలకపదాలు, మరియు స్టేట్మెంట్లు ఒకే స్టేట్మెంట్ లేదా స్టేట్మెంట్స్ బ్లాక్ కావచ్చు. వ్యక్తీకరణ ఏదైనా సున్నా కాని విలువకు “నిజం” అని అంచనా వేస్తుంది మరియు సున్నాకి అది “తప్పుడు” అని అంచనా వేస్తుంది.
ఒకవేళ స్టేట్మెంట్లోని వ్యక్తీకరణలో పూర్ణాంకం, అక్షరం, పాయింటర్, ఫ్లోటింగ్ పాయింట్ ఉండవచ్చు లేదా అది బూలియన్ రకం కావచ్చు. If-else స్టేట్మెంట్లో మిగతా స్టేట్మెంట్ ఐచ్ఛికం. వ్యక్తీకరణ నిజమైతే, స్టేట్మెంట్ ఎగ్జిక్యూట్ చేయబడితే లోపల స్టేట్మెంట్స్, మరియు అది తప్పుగా తిరిగి వస్తే వేరే స్టేట్మెంట్ లోపల స్టేట్మెంట్స్ ఎగ్జిక్యూట్ చేయబడతాయి మరియు ఒకవేళ వేరే స్టేట్మెంట్ సృష్టించబడకపోతే ఎటువంటి చర్య తీసుకోబడదు మరియు ప్రోగ్రామ్ యొక్క నియంత్రణ జంప్ అవుతుంది if-else స్టేట్మెంట్.
ఒక ఉదాహరణతో అర్థం చేసుకోవడానికి అనుమతిస్తుంది.
int i = 45, j = 34; if (i == 45 & j == 34) {cout << "i =" < స్విచ్ యొక్క నిర్వచనం
స్విచ్ స్టేట్మెంట్లు బహుళ ఎంపిక ఎంపిక ప్రకటన. స్విచ్ స్టేట్మెంట్ యొక్క సాధారణ రూపం క్రింది విధంగా ఉంటుంది
స్విచ్ (వ్యక్తీకరణ) {కేసు స్థిరాంకం 1: ప్రకటన (లు); బ్రేక్; కేసు స్థిరాంకం 2: ప్రకటన (లు); బ్రేక్; కేసు స్థిరాంకం 3: ప్రకటన (లు); బ్రేక్; . . డిఫాల్ట్ స్టేట్మెంట్ (లు); }
వ్యక్తీకరణ పూర్ణాంకం లేదా అక్షర స్థిరాంకాలను అంచనా వేస్తుంది. ఇక్కడ వ్యక్తీకరణ సమానత్వం కోసం మాత్రమే అంచనా వేస్తుంది. కేసు స్టేట్మెంట్లలో ఉన్న స్థిరాంకాలకు వ్యతిరేకంగా వ్యక్తీకరణ ధృవీకరించబడుతుంది. ఒక మ్యాచ్ కనుగొనబడితే, “విరామం” సంభవించే వరకు, ఆ కేసుతో సంబంధం ఉన్న స్టేట్మెంట్లు అమలు చేయబడతాయి. కేసు స్టేట్మెంట్లలో బ్రేక్ స్టేట్మెంట్ ఐచ్ఛికం కాబట్టి, బ్రేక్ స్టేట్మెంట్ లేకపోతే, స్విచ్ స్టేట్మెంట్ ముగిసే వరకు అమలు ఆగదు.
వ్యక్తీకరణ ఒకే వ్యక్తీకరణను కలిగి ఉంటుంది. బహుళ కేసు స్టేట్మెంట్లలో ఒకదాన్ని ఎంచుకోవడానికి స్విచ్ స్టేట్మెంట్ తరచుగా కీబోర్డ్ ఆదేశాన్ని ఉపయోగిస్తుంది.
పూర్ణాంకానికి సి; cout << "1 నుండి 3 వరకు విలువను ఎంచుకోండి"; CIN >> నేను; స్విచ్ (i) {కేసు 1: కౌట్ << "మీరు డార్క్ చాక్లెట్ ఎంచుకోండి"; బ్రేక్; కేసు 2: కౌట్ << "మీరు మిఠాయిని ఎంచుకోండి"; బ్రేక్; కేసు 3: కౌట్ << "మీరు లాలీపాప్ ఎంచుకోండి"; బ్రేక్; . . డిఫాల్ట్ కౌట్ << "మీరు ఏమీ ఎంచుకోరు"; }
ఇక్కడ, "i" యొక్క విలువ ఏ కేసును అమలు చేయాలో నిర్ణయిస్తుంది, ఒక వినియోగదారు 1, 2, లేదా 3 కాకుండా "i" విలువను ఇస్తే, డిఫాల్ట్ కేసు అమలు అవుతుంది.
- స్టేట్మెంట్ స్టేట్మెంట్ స్టేట్మెంట్ లోపల బ్లాక్ చేయాలా వద్దా అని నిర్ణయించుకుంటే లోపల వ్యక్తీకరణ. మరోవైపు, స్విచ్ స్టేట్మెంట్ లోపల వ్యక్తీకరణ ఏ కేసును అమలు చేయాలో నిర్ణయిస్తుంది.
- బహుళ ఎంపికల కోసం మీరు బహుళ ఉంటే స్టేట్మెంట్ కలిగి ఉండవచ్చు. స్విచ్లో మీకు బహుళ ఎంపికల కోసం ఒక వ్యక్తీకరణ మాత్రమే ఉంటుంది.
- If-esle స్టేట్మెంట్ సమానత్వం మరియు తార్కిక వ్యక్తీకరణ కోసం తనిఖీ చేస్తుంది. మరోవైపు, సమానత్వం కోసం మాత్రమే తనిఖీలను మార్చండి.
- If స్టేట్మెంట్ పూర్ణాంకం, అక్షరం, పాయింటర్ లేదా ఫ్లోటింగ్-పాయింట్ రకం లేదా బూలియన్ రకాన్ని అంచనా వేస్తుంది. మరోవైపు, స్విచ్ స్టేట్మెంట్ అక్షరం లేదా పూర్ణాంక డేటాటైప్ను మాత్రమే అంచనా వేస్తుంది.
- అమలు యొక్క సీక్వెన్స్ బ్లాక్ ఎగ్జిక్యూట్ చేస్తుందా లేదా స్టేట్మెంట్ స్టేట్మెంట్ ఎగ్జిక్యూట్ చేస్తుంది. మరోవైపు, స్విచ్ స్టేట్మెంట్లోని వ్యక్తీకరణ ఏ కేసును అమలు చేయాలో నిర్ణయిస్తుంది మరియు ప్రతి కేసు తర్వాత మీరు బ్రేక్ స్టేట్మెంట్ను వర్తించకపోతే అది స్విచ్ స్టేట్మెంట్ చివరి వరకు అమలు అవుతుంది.
- లోపలికి వ్యక్తీకరణ తప్పుగా మారితే, వేరే బ్లాక్ లోపల స్టేట్మెంట్ అమలు అవుతుంది. స్విచ్ స్టేట్మెంట్ లోపల వ్యక్తీకరణ తప్పు అని తేలితే డిఫాల్ట్ స్టేట్మెంట్స్ అమలు చేయబడతాయి.
- దిద్దుబాటు అవసరమయ్యే చోట కనుగొనడం చాలా శ్రమతో కూడుకున్నట్లయితే if-else స్టేట్మెంట్లను సవరించడం కష్టం. మరోవైపు, స్విచ్ స్టేట్మెంట్లను సులభంగా కనుగొనడం వలన వాటిని సవరించడం సులభం.
ముగింపు:
వేర్వేరు స్టేట్మెంట్ల కోసం వేర్వేరు కేసులను సృష్టించినందున స్విచ్ స్టేట్మెంట్ సవరించడం సులభం, అయితే, గూడు ఉంటే-లేకపోతే స్టేట్మెంట్లలో సవరించాల్సిన స్టేట్మెంట్లను గుర్తించడం కష్టమవుతుంది.