/ / "क्या एक बयान" जावा में एक "स्विच स्टेटमेंट" के समान है? - जावा

जावा में "स्विच कथन" के समान सटीक "अगर कथन" है? - जावा

एक तरफ प्रदर्शन, मैं सोच रहा था कि क्या कुछ ऐसे हालात हैं जहां केवल एक इफ स्टेटमेंट का इस्तेमाल किया जा सकता है और स्विच स्टेटमेंट का नहीं?

के रूप में, वे पूरी तरह से विनिमेय हैं? अगर मैं वांछित हूं या विशिष्ट कार्यक्रमों को तोड़ दूंगा तो क्या मैं बयानों के एक पूरे हिस्से को स्विच स्टेटमेंट से बदल सकता हूं और इसके विपरीत?

ऐसा नहीं है कि मैं चाहता हूं, लेकिन सैद्धांतिक रूप से और जिज्ञासा से बाहर है क्योंकि मैं कोडिंग में नया हूं और यह सोच रहा हूं।

मैं वास्तव में इसका जवाब नहीं ढूंढ पा रहा था, इसलिए मैं माफी चाहता हूं अगर यह डुप्लिकेट है।

उत्तर:

उत्तर № 1 के लिए 4

वे मौलिक रूप से अलग हैं कि वे क्या कर सकते हैं - if स्टेटमेंट किसी भी लॉजिक की जाँच कर सकते हैं जिसे आप डिस्टिल कर सकते हैं boolean किसी तरह से मूल्य, जबकि switch बयान प्रत्येक मामले के सटीक मानों की तुलना करते हैं - देखें दस्तावेज़ ब्योरा हेतु।

एक if-then-else स्टेटमेंट मानों या स्थितियों की श्रेणी के आधार पर अभिव्यक्तियों का परीक्षण कर सकता है, जबकि एक स्विच स्टेटमेंट केवल एक पूर्णांक, गणना किए गए मान या स्ट्रिंग ऑब्जेक्ट के आधार पर अभिव्यक्तियों का परीक्षण करता है।

इसका मतलब है कि यदि आप प्रत्येक मामले के लिए "इस मान को इस संख्या, एनम या स्ट्रिंग के बराबर" से अधिक जटिल तर्क करना चाहते हैं, तो आपको आवश्यकता है if बयान (या प्रवाह के प्रबंधन के कुछ अन्य) के बजाय एक switch.

एक सरल उदाहरण जाँच कर रहा है कि क्या कोई संख्या 10 से अधिक है लेकिन 9000 से कम है।

if (value > 10 && value < 9000) {
...
}

इसे एक स्विच स्टेटमेंट में बदलने का मतलब होगा कि कुछ पागल करना जैसे कि 10 से अधिक लेकिन 9000 से कम हर संभव मूल्य के लिए एक मामला है)