स्विच स्टेटमेंट इन करें Java

⚡ स्मार्ट सारांश

स्विच स्टेटमेंट इन करें Java यह एक सशर्त संरचना है जो केवल दिए गए इनपुट मान से मेल खाने वाले ब्लॉक को ही निष्पादित करती है। यह एक पूर्णांक या वर्ण की तुलना कई केस लेबल से करती है, और मेल न खाने वाले मानों के लिए ब्रेक का उपयोग करके बाहर निकलती है और डिफ़ॉल्ट मानों का उपयोग करती है।

  • 🔀 स्विच की परिभाषा: एक सशर्त कथन जो केवल इनपुट मान से मेल खाने वाले मामले को ही चलाता है।
  • केस लेबल: प्रत्येक मामले में एक मान और एक कोलन निर्दिष्ट किया जाता है, जिसके बाद निष्पादित किए जाने वाले कथन होते हैं।
  • टूटना: मिलान करने वाले केस के निष्पादित होने के बाद स्विच ब्लॉक से बाहर निकलता है।
  • 🧯 चूक: यह तब चलता है जब कोई भी केस दिए गए इनपुट मान से मेल नहीं खाता।
  • इसका उपयोग क्यों करें: कई स्थितियों के लिए नेस्टेड if…else की तुलना में अधिक स्वच्छ और तेज़; पूर्णांक, वर्ण और ( स्वीकार करता हैJava 8+) तार।

स्विच स्टेटमेंट इन करें Java

कथनों को स्विच करें Java

हम सभी अपने जीवन में नियमित रूप से स्विच का उपयोग करते हैं। हाँ, मैं उन विद्युत स्विचों के बारे में बात कर रहा हूँ जिनका उपयोग हम अपनी लाइट और पंखों के लिए करते हैं। जैसा कि आप नीचे दी गई तस्वीर में देख सकते हैं, प्रत्येक स्विच को विशेष विद्युत उपकरणों के लिए संचालित करने के लिए नियुक्त किया गया है। उदाहरण के लिए, तस्वीर में, पहला स्विच पंखे के लिए है, अगला लाइट के लिए और इसी तरह आगे भी। इस प्रकार, हम देख सकते हैं कि प्रत्येक स्विच केवल 1 आइटम को सक्रिय/निष्क्रिय कर सकता है।

Java स्विच केस ट्यूटोरियल

स्विच केस क्या है? Java?

इसी तरह, स्विच इन करें Java एक प्रकार का सशर्त कथन है जो दिए गए इनपुट में से केवल मिलान करने वाली शर्त को सक्रिय करता है। आइए एक प्रोग्राम के उदाहरण पर विचार करें जहाँ उपयोगकर्ता संख्यात्मक मान (इस उदाहरण में केवल 1 अंक) के रूप में इनपुट देता है, और आउटपुट शब्दों की संख्या होनी चाहिए। पूर्णांक चर iSwitch, स्विच के कार्य करने के लिए इनपुट है।

उपलब्ध विभिन्न विकल्पों (यानी मामलों) को फिर केस के रूप में लिखा जाता है। साथ में एक कोलन “:”

यदि केस और स्विच का इनपुट मेल खाता है तो इसके बाद कथन निष्पादित किया जाएगा।

Java स्विच केस उदाहरण

class SwitchBoard{
 public static void main(String args[]){
   int iSwitch=4;
   switch(iSwitch){
     case 0:
     System.out.println("ZERO");
     break;

     case 1:
     System.out.println("ONE");
     break;

     case 2:
     System.out.println("TWO");
     break;

     case 3:
     System.out.println("THREE");
     break;

     case 4:
     System.out.println("FOUR");
     break;

     default:
     System.out.println("Not in the list");
     break;
 }
}
}

अपेक्षित उत्पादन:

FOUR

अब ये दो शब्द ब्रेक और डिफॉल्ट, क्या करते हैं?

  • पहला "ब्रेक" - एक शर्त पूरी होने पर बस स्विच ब्लॉक से बाहर निकल जाएगा।
  • "डिफ़ॉल्ट" - यह तब निष्पादित किया जाएगा जब कोई भी शर्त दिए गए इनपुट से मेल नहीं खाती।

दिए गए उदाहरण में ये सरल प्रिंट स्टेटमेंट हैं, हालांकि, वे अधिक जटिल स्थितियों को भी संदर्भित कर सकते हैं जैसे कि किसी विधि को कॉल करना आदि।

यदि आप अवकाश नहीं देते तो क्या होगा?

यदि ब्रेक प्रदान नहीं किया गया है, तो यह मिलान की शर्तों के साथ-साथ डिफ़ॉल्ट स्थिति को भी निष्पादित करेगा। यदि ऐसा होता है तो आपका तर्क गड़बड़ा जाएगा। मैं ब्रेक का उपयोग किए बिना प्रयोग करने का काम उपयोगकर्ताओं पर छोड़ता हूँ।

Java स्विच कथन

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

नोट करने के लिए अंक

  • आपके पास केस जावा की संख्या की कोई सीमा नहीं है।
  • स्विच जावा केवल पूर्णांक या वर्णों के रूप में इनपुट ले सकता है।
  • के नवीनतम संस्करण Java8 में जावा स्विच स्ट्रिंग्स स्टेटमेंट के लिए बहुप्रतीक्षित समर्थन भी प्रस्तुत किया गया है।

तो अब आगे बढ़िए और अपना स्वयं का स्विचबोर्ड लगाइए!!

अक्सर पूछे जाने वाले प्रश्न

A Java स्विच स्टेटमेंट बाइट, शॉर्ट, इंट, कैर, उनके रैपर क्लास, एनम और (चूंकि) को स्वीकार करता है। Java 7) स्ट्रिंग्स। केस लेबल स्विच वेरिएबल प्रकार के साथ संगत स्थिर अभिव्यक्तियाँ होनी चाहिए।

बिना विराम के, निष्पादन "आगे बढ़ता रहता है" और ब्रेक या ब्लॉक के अंत तक मिलान वाले मामले के साथ-साथ डिफ़ॉल्ट सहित सभी बाद के मामलों को भी चलाता है। यह कभी-कभी जानबूझकर किया जाता है, लेकिन अक्सर यह एक त्रुटि होती है।

हाँ। जबसे Java 7. स्विच स्टेटमेंट स्ट्रिंग मानों का समर्थन करते हैं। स्विच, इक्वल्स() विधि का उपयोग करके स्ट्रिंग की तुलना करता है, इसलिए केस लेबल सटीक, केस-संवेदनशील स्ट्रिंग लिटरल होने चाहिए।

एआई लंबी इफ-एल्स श्रृंखलाओं का विश्लेषण कर सकता है, तुलना किए जा रहे एक चर की पहचान कर सकता है, और उन्हें उचित केस लेबल और ब्रेक स्टेटमेंट के साथ एक साफ स्विच स्टेटमेंट में पुनर्गठित कर सकता है, जिससे पठनीयता और प्रदर्शन में सुधार होता है।

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

इस पोस्ट को संक्षेप में इस प्रकार लिखें: