Bạn có thể sử dụng có cả hai CASE
câu như sau.
case text1:
case text4:{
//blah
break;
}
XEM VÍ DỤ NÀY: Ví dụ mã tính toán số ngày trong một tháng cụ thể:
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);
}
}
Đây là đầu ra từ mã:
Number of Days = 29
FALLTHROUGH:
Một điểm quan tâm khác là tuyên bố phá vỡ. Mỗi câu lệnh ngắt kết thúc câu lệnh chuyển đổi kèm theo. Luồng điều khiển tiếp tục với câu lệnh đầu tiên sau khối chuyển đổi. Các câu lệnh break là cần thiết bởi vì không có chúng, các câu lệnh trong khối chuyển đổifall
through
: Tất cả các câu lệnh sau nhãn trường hợp khớp được thực hiện theo trình tự, bất kể biểu thức của nhãn trường hợp tiếp theo, cho đến khi gặp câu lệnh break.
VÍ DỤ MÃ:
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);
}
}
}
}
Đây là đầu ra từ mã:
August
September
October
November
December
Sử dụng Chuỗi trong Báo cáo chuyển đổi
Trong Java SE 7 trở lên, bạn có thể sử dụng một đối tượng String trong biểu thức của câu lệnh switch. Ví dụ mã sau đây, hiển thị số tháng dựa trên giá trị của Chuỗi có tên tháng:
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);
}
}
}
Đầu ra từ mã này là 8.
TỪ Tài liệu Java