Free tutorials & notes in Hindi & English · Clean code examples 🧰 मुफ़्त PDF और फ़ोटो टूल्स →
🟡 Control Flow  ·  Lesson 11

Switch Case

switch-case क्या है

switch-case एक value को कई fixed options से तुलना करके मेल खाता वाला चलाता है। जब आप वरना एक ही variable जाँचती लंबी else if ladder लिखते, तब switch ज़्यादा साफ़ और पढ़ने में आसान है।

💡 switch तब इस्तेमाल कीजिए जब एक variable की कई exact values से तुलना हो (जैसे menu choice या day number)।

एक बुनियादी switch

int day = 3;
switch (day) {
    case 1: System.out.println("Monday"); break;
    case 2: System.out.println("Tuesday"); break;
    case 3: System.out.println("Wednesday"); break;
    default: System.out.println("Other day");
}
Wednesday

switch day को हर case से जाँचता है। यह case 3 से मेल खाता है, Wednesday print करता है, और break उसे वहीं रोक देता है।

break क्यों ज़रूरी है

int n = 1;
switch (n) {
    case 1: System.out.println("One");
    case 2: System.out.println("Two");   // ऊपर कोई break नहीं!
    default: System.out.println("Done");
}
One
Two
Done

break बिना, Java "fall through" करके अगले cases भी चलाता है। इसीलिए हर case आमतौर पर break से ख़त्म होता है — मेल के बाद रुकने को।

default case

char grade = 'X';
switch (grade) {
    case 'A': System.out.println("Excellent"); break;
    case 'B': System.out.println("Good"); break;
    default:  System.out.println("Invalid grade");
}
Invalid grade

default तब चलता है जब और कुछ मेल न खाए — अंतिम else जैसा। अप्रत्याशित values संभालने को इसे हमेशा शामिल करना अच्छी practice है।

जानबूझकर fall-through

int month = 4;
switch (month) {
    case 3: case 4: case 5:
        System.out.println("Spring"); break;
    case 6: case 7: case 8:
        System.out.println("Summer"); break;
}
Spring

कभी fall-through उपयोगी है: बीच में code बिना cases एक साथ रखना कई values को एक action साझा करने देता है। यहाँ महीने 3, 4 और 5 सब "Spring" print करते हैं।

आधुनिक switch

int day = 3;
String name = switch (day) {
    case 1 -> "Monday";
    case 2 -> "Tuesday";
    case 3 -> "Wednesday";
    default -> "Other";
};
System.out.println(name);
Wednesday

नया Java एक arrow रूप देता है जिसमें कोई fall-through और कोई break नहीं। यह सीधे value भी लौटा सकता है, code को छोटा और सुरक्षित बनाकर।

आम गलतियाँ

  • break भूलना। Classic switch में break छूटना fall-through कराता है।
  • कोई default case नहीं। बेमेल values को हमेशा default से संभालिए।
  • Ranges इस्तेमाल करना। Case एक exact value होना चाहिए — case > 5 invalid है; ranges को if-else इस्तेमाल कीजिए।
  • गलत type। Cases switch variable के type से मेल खाने चाहिए (int, char, String, enum)।

सारांश

  • switch-case एक value को कई fixed cases से तुलना करता है।
  • Fall-through बचाने को हर classic case को break से ख़त्म कीजिए।
  • default किसी case से न मिलने वाली values संभालता है।
  • Stacked cases जानबूझकर एक action साझा कर सकते हैं।
  • आधुनिक arrow switch break से बचता है और value लौटा सकता है।

आगे, तुलना कीजिए if-else से, या menu बनाइए switch calculator में।

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

Java में switch-case क्या है?
switch-case एक value को कई fixed options (cases) से जाँचता है और मेल खाता वाला चलाता है। जब आप एक ही variable की कई exact values से तुलना करें, तब यह लंबी else-if ladder का ज़्यादा साफ़ विकल्प है।
switch में break क्यों चाहिए?
break बिना, Java अगले cases भी चलाता रहता है — इसे fall-through कहते हैं। हर case के अंत में break जोड़ना उसे मेल खाते के बाद रोक देता है, जो आमतौर पर आप चाहते हैं।
default case क्या है?
default case तब चलता है जब कोई और case मेल न खाए। यह if-else ladder के अंतिम else जैसा काम करता है, आपके न बताए किसी भी value को संभालकर।
switch किन types पर काम करता है?
पारंपरिक switch int, char, String, और enum values (और उनके wrapper types) पर काम करता है। यह variable की constant case values से तुलना करता है, तो हर case एक fixed literal होना चाहिए।
Java में आधुनिक switch क्या है?
नए Java versions एक arrow रूप जोड़ते हैं: case 1 -> ...; जिसमें कोई fall-through नहीं और break की ज़रूरत नहीं। यह value भी लौटा सकता है, कई cases को switch छोटा और सुरक्षित बनाकर।
← Back to Java Tutorial
🔗

Share this topic with a friend

यह topic किसी दोस्त को भेजें

Found it useful? Send it to a classmate learning the same thing.

अच्छा लगा? जो दोस्त यही सीख रहा है, उसे भेज दीजिए।

💻 लाइव कोड एडिटर

इस पेज के प्रोग्राम यहीं तैयार हैं — चलाएँ, बदलें और सीखें। कुछ भी इंस्टॉल किए बिना।
OneCompiler द्वारा संचालित। कोड एडिटर में अपने आप आ जाता है — Run दबाकर आउटपुट देखें। अगर एडिटर न खुले तो नए टैब में खोलें.
अगला topicLoops (for, while, do-while) आपकी प्रगति: 11 / 61 (18%) · Lesson 12 / 61 आगे बढ़ें →

यह lesson कैसा लगा?

आपकी राय से हम content और बेहतर बनाते हैं।

अपना review और सुझाव लिखें (वैकल्पिक)

Review approve होने के बाद आपका नाम और शहर इसके साथ public दिख सकते हैं। Email या phone न लिखें।

▶ CodingEasily on YouTube

Video से सीखें – आसान Hindi में

चुनी हुई video: RDBMS भाग 3 – Class XI Commerce IT

▶ Channel subscribe करें