Sentencia switch

Se trata de una alternativa a la bifurcación if elseif else cuando se compara la misma expresión con distintos valores. Su forma general es la siguiente:

switch (expression) {
case value1: statements1; break;
case value2: statements2; break;
case value3: statements3; break;
case value4: statements4; break;
case value5: statements5; break;
case value6: statements6; break;
[default: statements7;]
}

Las características más relevantes de switch son las siguientes:

1. Cada sentencia case se corresponde con un único valor de expression. No se pueden establecer rangos o condiciones sino que se debe comparar con valores concretos. El ejemplo del Apartado 2.3.3.3 no se podría realizar utilizando switch.

2. Los valores no comprendidos en ninguna sentencia case se pueden gestionar en default, que es opcional.

3. En ausencia de break, cuando se ejecuta una sentencia case se ejecutan también todas las case que van a continuación, hasta que se llega a un break o hasta que se termina el switch.

Ejemplo:

char c = (char)(Math.random()*26+’a’); // Generación aleatoria de letras minúsculas
System.out.println(«La letra » + c );
switch (c) {
case ‘a’: // Se compara con la letra a
case ‘e’: // Se compara con la letra e
case ‘i’: // Se compara con la letra i
case ‘o’: // Se compara con la letra o
case ‘u’: // Se compara con la letra u
System.out.println(» Es una vocal «); break; default:
System.out.println(» Es una consonante «);
}

Fuente: Aprenda Java como si estuviera en primero de la Universidad de Navarra