अनुशंसित, 2019

संपादक की पसंद

अंतर-अगर और स्विच के बीच अंतर

"यदि-और" और "स्विच" दोनों चयन कथन हैं। चयन के बयान, कार्यक्रम के प्रवाह को उस स्थिति के आधार पर बयानों के विशेष ब्लॉक में स्थानांतरित करते हैं कि क्या स्थिति "सही" या "गलत" है। If-else और स्विच स्टेटमेंट के बीच मूलभूत अंतर यह है कि if-else स्टेटमेंट "यदि स्टेटमेंट्स में एक्सप्रेशन के मूल्यांकन के आधार पर स्टेटमेंट्स के निष्पादन का चयन करता है"। स्विच स्टेटमेंट "अक्सर कीबोर्ड कमांड पर आधारित स्टेटमेंट का निष्पादन चुनता है"।

तुलना चार्ट

तुलना के लिए आधारयदि नहीं तोस्विच
बुनियादीयदि कथन को निष्पादित किया जाता है, तो कथन के अंदर अभिव्यक्ति के उत्पादन पर निर्भर करता है।उपयोगकर्ता द्वारा कौन सा कथन निष्पादित किया जाएगा।
अभिव्यक्तिif-else स्टेटमेंट कई विकल्पों के लिए कई स्टेटमेंट का उपयोग करता है।स्विच स्टेटमेंट कई विकल्पों के लिए एकल अभिव्यक्ति का उपयोग करता है।
परिक्षणअगर-और कथन समानता के साथ-साथ तार्किक अभिव्यक्ति के लिए भी परीक्षण करते हैं।केवल समानता के लिए स्विच स्टेटमेंट टेस्ट।
मूल्यांकनयदि कथन पूर्णांक, वर्ण, सूचक या फ्लोटिंग-पॉइंट प्रकार या बूलियन प्रकार का मूल्यांकन करता है।स्विच स्टेटमेंट केवल चरित्र या पूर्णांक मान का मूल्यांकन करता है।
निष्पादन की अनुक्रमया तो स्टेटमेंट निष्पादित किया जाएगा या फिर स्टेटमेंट निष्पादित किया जाएगा।स्विच स्टेटमेंट एक के बाद एक केस निष्पादित करता है जब तक कि ब्रेक स्टेटमेंट दिखाई नहीं देता या स्विच स्टेटमेंट का अंत नहीं हो जाता।
डिफ़ॉल्ट निष्पादनयदि स्टेटमेंट्स के अंदर की स्थिति गलत है, तो डिफ़ॉल्ट रूप से अन्य स्टेटमेंट को निष्पादित किया जाता है यदि बनाया गया है।यदि स्विच स्टेटमेंट के अंदर की स्थिति किसी भी मामले के साथ मेल नहीं खाती है, तो उदाहरण के लिए यदि बनाया गया है तो डिफ़ॉल्ट स्टेटमेंट निष्पादित किया जाता है।
संपादनIf-else स्टेटमेंट को संपादित करना मुश्किल है, यदि नेस्ट if-else स्टेटमेंट का उपयोग किया जाता है।स्विच मामलों को संपादित करना आसान है, वे आसानी से पहचाने जाते हैं।

अगर-और की परिभाषा

अगर-और स्टेटमेंट OOP में चयन स्टेटमेंट से संबंधित हैं। If-else कथनों का सामान्य रूप निम्नानुसार है

 अगर (अभिव्यक्ति) {कथन (s)} और {कथन (s)} 

जहां "अगर" और "बाकी" कीवर्ड हैं, और बयान एक बयान या बयानों का एक ब्लॉक हो सकते हैं। अभिव्यक्ति किसी भी गैर-शून्य मान के लिए "सत्य" होने का मूल्यांकन करती है और शून्य के लिए यह "गलत" होने का मूल्यांकन करती है।
यदि कथन में अभिव्यक्ति में एक पूर्णांक, वर्ण, सूचक, फ्लोटिंग-पॉइंट हो सकते हैं या यह एक बूलियन प्रकार हो सकता है। इफ-इफ स्टेटमेंट में दूसरा स्टेटमेंट वैकल्पिक है। यदि अभिव्यक्ति सही है, तो कथन के अंदर दिए गए कथनों को निष्पादित किया जाता है, और यदि यह गलत है तो कथन के अंदर कथनों को निष्पादित किया जाता है और यदि किसी अन्य वक्तव्य में कोई कार्रवाई नहीं की जाती है, और प्रोग्राम का नियंत्रण समाप्त हो जाता है if-if स्टेटमेंट का

हमें एक उदाहरण से समझते हैं।

 int i = 45, j = 34; if (i == 45 & j == 34) {cout << "i jyou choose dark choclate"; टूटना; केस 2: cout << "आप कैंडी चुनें"; टूटना; केस 3: cout << "आप लॉलीपॉप चुनते हैं"; टूटना; । । डिफ़ॉल्ट कॉउट << "आप कुछ भी नहीं चुनते हैं"; } 

यहां, "i" का मान तय करेगा कि किस मामले को निष्पादित किया जाना है, यदि कोई उपयोगकर्ता 1, 2, या 3 के अलावा "i" का मान देता है, तो डिफ़ॉल्ट केस निष्पादित किया जाता है।

अगर-और के बीच मुख्य अंतर

  1. यदि कथन के अंदर अभिव्यक्ति यह तय करती है कि यदि ब्लॉक या किसी अन्य ब्लॉक के अंदर बयानों को निष्पादित करना है या नहीं। दूसरी ओर, स्विच स्टेटमेंट के अंदर अभिव्यक्ति तय करती है कि किस मामले को निष्पादित करना है।
  2. यदि आपके पास बयानों के एकाधिक विकल्प के लिए स्टेटमेंट है तो आप कई हो सकते हैं। स्विच में आपके पास कई विकल्पों के लिए केवल एक अभिव्यक्ति है।
  3. अगर-एस्ले स्टेटमेंट समानता के साथ-साथ तार्किक अभिव्यक्ति के लिए जाँच करता है। दूसरी ओर, केवल समानता के लिए चेक स्विच करें।
  4. यदि कथन पूर्णांक, वर्ण, सूचक या फ्लोटिंग-पॉइंट प्रकार या बूलियन प्रकार का मूल्यांकन करता है। दूसरी ओर, स्विच स्टेटमेंट केवल चरित्र या पूर्णांक डेटाटाइप का मूल्यांकन करता है।
  5. निष्पादन की अनुक्रम या तो बयान के तहत है जैसे ब्लॉक निष्पादित करेगा या अन्य ब्लॉक विवरण निष्पादित करेगा। दूसरी ओर स्विच स्टेटमेंट में अभिव्यक्ति तय करती है कि किस मामले को निष्पादित करना है और यदि आप प्रत्येक केस के बाद ब्रेक स्टेटमेंट लागू नहीं करते हैं तो यह स्विच स्टेटमेंट के अंत तक निष्पादित होगा।
  6. अगर अंदर की अभिव्यक्ति अगर झूठे होने की ओर मुड़ती है, तो ब्लॉक के अंदर बयान निष्पादित किया जाएगा। यदि स्विच स्टेटमेंट के अंदर की अभिव्यक्ति गलत है, तो डिफ़ॉल्ट स्टेटमेंट निष्पादित किया जाता है।
  7. यदि-और कथनों को संपादित करना मुश्किल है, क्योंकि यह पता लगाना मुश्किल है कि सुधार की आवश्यकता कहां है। दूसरी ओर स्विच स्टेटमेंट को संपादित करना आसान है क्योंकि वे ट्रेस करना आसान है।

निष्कर्ष:

स्विच स्टेटमेंट को एडिट करना आसान है, क्योंकि इसने अलग-अलग स्टेटमेंट के लिए अलग-अलग केस बनाए हैं, जबकि नेस्टेड में-और स्टेटमेंट में एडिट किए जाने वाले स्टेटमेंट को पहचानना मुश्किल हो जाता है।

Top