आप दोनों CASE
कथनों का उपयोग इस प्रकार कर सकते हैं ।
case text1:
case text4:{
//blah
break;
}
इस उदाहरण को देखें: कोड उदाहरण एक विशेष महीने में दिनों की संख्या की गणना करता है:
class SwitchDemo {
public static void main(String[] args) {
int month = 2;
int year = 2000;
int numDays = 0;
switch (month) {
case 1:
case 3:
case 5:
case 7:
case 8:
case 10:
case 12:
numDays = 31;
break;
case 4:
case 6:
case 9:
case 11:
numDays = 30;
break;
case 2:
if (((year % 4 == 0) &&
!(year % 100 == 0))
|| (year % 400 == 0))
numDays = 29;
else
numDays = 28;
break;
default:
System.out.println("Invalid month.");
break;
}
System.out.println("Number of Days = "
+ numDays);
}
}
यह कोड से आउटपुट है:
Number of Days = 29
असफल:
ब्याज का एक और बिंदु ब्रेक स्टेटमेंट है। प्रत्येक ब्रेक स्टेटमेंट, संलग्नक स्विच स्टेटमेंट को समाप्त करता है। नियंत्रण प्रवाह स्विच ब्लॉक के बाद पहले बयान के साथ जारी है। ब्रेक स्टेटमेंट आवश्यक हैं क्योंकि उनके बिना, स्विच ब्लॉक में बयान fall
through
: मिलान केस लेबल के बाद के सभी स्टेटमेंट क्रम में निष्पादित किए जाते हैं, बाद के केस लेबल की अभिव्यक्ति की परवाह किए बिना, जब तक कि एक ब्रेक स्टेटमेंट का सामना नहीं किया जाता है।
उदाहरण कोड:
public class SwitchFallThrough {
public static void main(String[] args) {
java.util.ArrayList<String> futureMonths =
new java.util.ArrayList<String>();
int month = 8;
switch (month) {
case 1: futureMonths.add("January");
case 2: futureMonths.add("February");
case 3: futureMonths.add("March");
case 4: futureMonths.add("April");
case 5: futureMonths.add("May");
case 6: futureMonths.add("June");
case 7: futureMonths.add("July");
case 8: futureMonths.add("August");
case 9: futureMonths.add("September");
case 10: futureMonths.add("October");
case 11: futureMonths.add("November");
case 12: futureMonths.add("December");
default: break;
}
if (futureMonths.isEmpty()) {
System.out.println("Invalid month number");
} else {
for (String monthName : futureMonths) {
System.out.println(monthName);
}
}
}
}
यह कोड से आउटपुट है:
August
September
October
November
December
स्विच स्टेटमेंट में स्ट्रिंग्स का उपयोग करना
जावा एसई 7 और बाद में, आप स्विच स्टेटमेंट की अभिव्यक्ति में स्ट्रिंग ऑब्जेक्ट का उपयोग कर सकते हैं। निम्न कोड उदाहरण, स्ट्रिंग नाम के महीने के आधार पर महीने की संख्या प्रदर्शित करता है:
public class StringSwitchDemo {
public static int getMonthNumber(String month) {
int monthNumber = 0;
if (month == null) {
return monthNumber;
}
switch (month.toLowerCase()) {
case "january":
monthNumber = 1;
break;
case "february":
monthNumber = 2;
break;
case "march":
monthNumber = 3;
break;
case "april":
monthNumber = 4;
break;
case "may":
monthNumber = 5;
break;
case "june":
monthNumber = 6;
break;
case "july":
monthNumber = 7;
break;
case "august":
monthNumber = 8;
break;
case "september":
monthNumber = 9;
break;
case "october":
monthNumber = 10;
break;
case "november":
monthNumber = 11;
break;
case "december":
monthNumber = 12;
break;
default:
monthNumber = 0;
break;
}
return monthNumber;
}
public static void main(String[] args) {
String month = "August";
int returnedMonthNumber =
StringSwitchDemo.getMonthNumber(month);
if (returnedMonthNumber == 0) {
System.out.println("Invalid month");
} else {
System.out.println(returnedMonthNumber);
}
}
}
इस कोड से आउटपुट 8 है।
जावा डॉक्स से