Her iki CASE
ifadeyi de aşağıdaki gibi kullanabilirsiniz .
case text1:
case text4:{
//blah
break;
}
BU ÖRNEĞİ GÖSTER: Kod örneği, belirli bir aydaki gün sayısını hesaplar:
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);
}
}
Bu koddan çıktıdır:
Number of Days = 29
SUYA DÜŞMEK:
Bir diğer ilgi çekici nokta break ifadesidir. Her break ifadesi ek anahtar deyimini sonlandırır. Kontrol akışı, anahtar bloğunu izleyen ilk ifade ile devam eder. Break ifadeleri gereklidir, çünkü bunlar olmadan, anahtar bloklarındaki fall
through
ifadeler: Eşleşen vaka etiketinden sonraki tüm ifadeler, bir break ifadesi ile karşılaşılana kadar sonraki vaka etiketlerinin ifadesinden bağımsız olarak sırayla yürütülür.
ÖRNEK KOD:
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);
}
}
}
}
Bu koddan çıktıdır:
August
September
October
November
December
Anahtar Deyimlerinde Dizeleri Kullanma
Java SE 7 ve sonraki sürümlerinde, switch ifadesinin ifadesinde bir String nesnesi kullanabilirsiniz. Aşağıdaki kod örneği, month adlı dizenin değerine göre ay sayısını görüntüler:
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);
}
}
}
Bu koddan çıktı 8'dir.
Java Dokümanlarından