Es posible agrupar varias condiciones en la misma case
declaración utilizando el mecanismo de caída permitido por las declaraciones de cambio, se menciona en el tutorial de Java y se especifica completamente en la sección §14.11. La declaración de cambio de la especificación del lenguaje Java .
El siguiente fragmento de código se tomó de un ejemplo del tutorial, calcula el número de días de cada mes (numerados desde el mes 1 hasta el mes 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;
}
Como puede ver, para cubrir un rango de valores en una sola case
declaración, la única alternativa es enumerar cada uno de los valores posibles individualmente, uno tras otro. Como ejemplo adicional, aquí se explica cómo implementar el pseudocódigo en la pregunta:
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;
}