बहु-लेबल मामले
कई लेबलों को एक साथ समूहित करें
बहु-लेबल मामले, CoddyKit पर Java Academy का एक निःशुल्क पाठ है। यह 4 में से 4वाँ पाठ है। आप नीचे पूरा पाठ निःशुल्क पढ़ सकते हैं—फिर अंतर्निहित कोड संपादक और 24/7 एआई ट्यूटर के साथ ब्राउज़र में इसका व्यावहारिक अभ्यास कर सकते हैं। यह Java Academy सीखने के मार्ग का हिस्सा है और आपकी प्रगति वेब तथा CoddyKit ऐप पर सिंक होती रहती है। Java Academy पाठ्यक्रम में कुल 4 पाठ शामिल हैं।
लेबलों को समूहित करना
अक्सर कई मानों पर एक ही क्रिया की जानी चाहिए। आधुनिक switch में आप एक ही विकल्प में कई लेबलों की सूची बना सकते हैं, उन्हें अल्पविराम से अलग कर सकते हैं और एक ही शाखा साझा कर सकते हैं।
अल्पविराम से अलग किए गए लेबल
-> से पहले मानों को एक के बाद एक अल्पविराम से अलग करके लिखें। इनमें से कोई भी मान मेल खाए, तो शाखा चलती है।
public class Main {
public static void main(String[] args) {
int day = 7;
switch (day) {
case 1, 2, 3, 4, 5 -> System.out.println("Weekday");
case 6, 7 -> System.out.println("Weekend");
}
}
}स्वर पहचानना
इसका एक प्रचलित उपयोग है: पाँच अलग-अलग विकल्प लिखने के बजाय सभी स्वरों को एक शाखा में समूहित करना।
public class Main {
public static void main(String[] args) {
char c = 'o';
switch (c) {
case 'a', 'e', 'i', 'o', 'u' -> System.out.println("Vowel");
default -> System.out.println("Consonant");
}
}
}व्यंजकों में कई लेबल
कई-लेबल वाले विकल्प switch व्यंजकों में भी काम करते हैं और सूची में दिए गए किसी भी लेबल के लिए एक ही मान लौटाते हैं।
public class Main {
public static void main(String[] args) {
int month = 7;
String season = switch (month) {
case 12, 1, 2 -> "Winter";
case 3, 4, 5 -> "Spring";
case 6, 7, 8 -> "Summer";
default -> "Autumn";
};
System.out.println(season);
}
}समूहित स्ट्रिंग लेबल
स्ट्रिंग मानों को भी समूहित किया जा सकता है। यहाँ कई कमांड-रूपों को एक ही क्रिया से जोड़ा गया है।
public class Main {
public static void main(String[] args) {
String cmd = "quit";
switch (cmd) {
case "quit", "exit", "q" -> System.out.println("Closing");
case "help", "h" -> System.out.println("Showing help");
default -> System.out.println("Unknown command");
}
}
}समूहित एनम लेबल
एनम स्थिरांक भी एक शाखा साझा कर सकते हैं, जिससे श्रेणी-संबंधी तर्क संक्षिप्त रहता है।
public class Main {
enum Day { MON, TUE, WED, THU, FRI, SAT, SUN }
public static void main(String[] args) {
Day d = Day.SAT;
String kind = switch (d) {
case SAT, SUN -> "Rest";
default -> "Work";
};
System.out.println(kind);
}
}दोहराए गए लेबल नहीं
पूरे switch में प्रत्येक लेबल केवल एक बार आ सकता है। एक ही मान को दो शाखाओं में लिखना संकलन त्रुटि है, क्योंकि संकलक यह तय नहीं कर पाएगा कि कौन-सी शाखा चलानी है।
public class Main {
public static void main(String[] args) {
int n = 2;
switch (n) {
case 1, 2 -> System.out.println("Low");
case 3, 4 -> System.out.println("High");
default -> System.out.println("Other");
}
}
}पुराने अनपेक्षित प्रवेश की तुलना
पुरानी द्विबिंदु शैली में समूह बनाने के लिए एक साझा शरीर के ऊपर खाली, अगली शाखा में जाने वाले विकल्पों को क्रम से रखना पड़ता था। अल्पविराम वाला सिंटैक्स बहुत स्पष्ट है और अनजाने में अगली शाखा में चले जाने से बचाता है।
public class Main {
public static void main(String[] args) {
int code = 3;
switch (code) {
case 1, 3, 5, 7, 9 -> System.out.println("Odd");
case 0, 2, 4, 6, 8 -> System.out.println("Even");
}
}
}ब्लॉक के साथ समूह बनाना
समूहित विकल्प में ब्लॉक का शरीर भी इस्तेमाल किया जा सकता है। मेल खाने वाले किसी भी लेबल से पूरा ब्लॉक चलता है।
public class Main {
public static void main(String[] args) {
char grade = 'B';
switch (grade) {
case 'A', 'B' -> {
System.out.println("Pass");
System.out.println("Well done");
}
default -> System.out.println("Try again");
}
}
}yield के साथ संयोजन
जब साझा शाखा में गणना की आवश्यकता हो, तब समूहित लेबल और yield साथ काम करते हैं।
public class Main {
public static void main(String[] args) {
int n = 4;
int points = switch (n) {
case 1, 2, 3 -> 10;
case 4, 5, 6 -> {
int bonus = n * 2;
yield 20 + bonus;
}
default -> 0;
};
System.out.println(points);
}
}पठनीयता में सुधार
कई-लेबल वाले विकल्प दोहराई जाने वाली शाखाओं की लंबी सूचियों को कुछ स्पष्ट समूहों में छोटा कर देते हैं, जिससे उद्देश्य एक नज़र में स्पष्ट हो जाता है।
public class Main {
public static void main(String[] args) {
int http = 204;
String group = switch (http / 100) {
case 1, 2, 3 -> "OK-ish";
case 4, 5 -> "Error";
default -> "Unknown";
};
System.out.println(group);
}
}त्वरित जाँच
आधुनिक Java में कई मानों से एक ही switch शाखा कैसे चलाएँगे?
पुनरावृत्ति
आपने कई-लेबल वाले विकल्प सीखे:
->से पहले मानों की सूची अल्पविराम से अलग करके लिखें- यह पूर्णांकों, वर्णों, स्ट्रिंगों और एनम के लिए काम करता है
- पुरानी शैली के विपरीत, अनजाने में अगली शाखा में प्रवेश नहीं होता
- प्रत्येक लेबल केवल एक बार आ सकता है
- आवश्यकता होने पर इन्हें ब्लॉक और
yieldके साथ मिलाएँ
एआई शिक्षक के साथ Java सीखें — निःशुल्क
अपने ब्राउज़र में वास्तविक कोड लिखें और चलाएँ, चौबीसों घंटे एआई शिक्षक से तुरंत सहायता पाएँ, और वेब या ऐप पर वहीं से शुरू करें जहाँ आपने छोड़ा था।
- पाठ्यक्रम
- 104
- पाठ
- 374
अक्सर पूछे जाने वाले प्रश्न
क्या “बहु-लेबल मामले” पाठ निःशुल्क है?
हाँ—“बहु-लेबल मामले” का पूरा पाठ यहाँ वेब पर निःशुल्क पढ़ा जा सकता है। इंटरैक्टिव अभ्यास (अंतर्निहित कोड संपादक और 24/7 एआई ट्यूटर) करने और Java Academy पाठ्यक्रम का बाकी हिस्सा अनलॉक करने के लिए CoddyKit PRO लें। Java Academy पाठ्यक्रम में कुल 4 पाठ शामिल हैं।
“बहु-लेबल मामले” में मैं क्या सीखूँगा?
कई लेबलों को एक साथ समूहित करें आप ब्राउज़र में सीधे चलाए जाने वाले व्यावहारिक कोड के साथ Java Academy का अभ्यास करते हैं, और पाठ पूरा करते समय 24/7 एआई ट्यूटर आपके प्रश्नों के उत्तर देता है।
क्या Java Academy शुरू करने के लिए मुझे किसी अनुभव की आवश्यकता है?
पहले के अनुभव की आवश्यकता नहीं है। CoddyKit पर Java Academy शुरुआती से लेकर उन्नत शिक्षार्थियों तक सभी के लिए व्यवस्थित किया गया है, इसलिए आप यहीं से या शुरुआत से सीखना शुरू कर सकते हैं और अपनी गति से आगे बढ़ सकते हैं। यह 4 में से 4वाँ पाठ है।
“बहु-लेबल मामले” पाठ पूरा करने में कितना समय लगता है?
CoddyKit का अधिकांश पाठ लगभग 5–10 मिनट में पूरा हो जाता है। हर पाठ छोटा और संवादात्मक है, इसलिए आप लगातार प्रगति करते हैं और वेब या ऐप पर वहीं से सीखना जारी रख सकते हैं जहाँ आपने छोड़ा था।
क्या मैं इस Java Academy पाठ में कोड लिख और चला सकता हूँ?
हाँ। हर Java Academy पाठ में एक अंतर्निर्मित कोड संपादक शामिल है, जिससे आप सीधे अपने ब्राउज़र में वास्तविक कोड लिख और चला सकते हैं और तुरंत एआई प्रतिक्रिया पा सकते हैं—स्थानीय सेटअप की आवश्यकता नहीं है।