เป็นไปได้ที่จะจัดกลุ่มเงื่อนไขต่างๆในcase
คำสั่งเดียวกันโดยใช้กลไกการตกผ่านที่อนุญาตโดยคำสั่งสวิตช์ซึ่งกล่าวถึงในบทช่วยสอน Javaและระบุไว้อย่างสมบูรณ์ในส่วน§14.11 งบสวิทช์ของJava Language ข้อกำหนด
ข้อมูลโค้ดต่อไปนี้นำมาจากตัวอย่างในบทช่วยสอนโดยจะคำนวณจำนวนวันในแต่ละเดือน (นับจากเดือนที่ 1 ถึงเดือน 12):
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;
}
อย่างที่คุณเห็นสำหรับการครอบคลุมช่วงของค่าในcase
คำสั่งเดียวทางเลือกเดียวคือการแสดงรายการค่าที่เป็นไปได้แต่ละค่าทีละค่า ตัวอย่างเพิ่มเติมนี่คือวิธีใช้ pseudocode ในคำถาม:
switch(num) {
case 1: case 2: case 3: case 4: case 5:
System.out.println("testing case 1 to 5");
break;
case 6: case 7: case 8: case 9: case 10:
System.out.println("testing case 6 to 10");
break;
}