Sentencia switch case en Java
La sentencia switch case comprueba si una variable es igual a uno de una serie de valores; cada valor se denomina una rama.
Sintaxis
El formato de sintaxis de la sentencia switch case es el siguiente:

La sentencia switch case tiene las siguientes reglas:
El tipo de variable en la sentencia switch puede ser: byte, short, int o char. Desde Java SE 7, switch admite el tipo de cadena String, y las etiquetas case deben ser constantes de cadena o literales.
La sentencia switch puede tener múltiples sentencias case. Después de cada case se especifica un valor a comparar y dos puntos.
El tipo de datos del valor en la sentencia case debe ser el mismo que el tipo de datos de la variable, y solo puede ser una constante o una constante literal.
Cuando el valor de la variable es igual al valor de la sentencia case, las instrucciones posteriores a la sentencia case comienzan a ejecutarse; solo cuando aparece una sentencia break se sale de la sentencia switch.
Cuando se encuentra una sentencia break, la sentencia switch termina. El programa salta a la instrucción siguiente a la sentencia switch para continuar su ejecución. Las sentencias case no están obligadas a incluir una sentencia break. Si no aparece una sentencia break, el programa continúa ejecutando la siguiente sentencia case hasta que aparezca una sentencia break.
La sentencia switch puede contener una rama default, que generalmente es la última rama de la sentencia switch (puede estar en cualquier posición, pero se recomienda que sea la última). default se ejecuta cuando ningún valor de las sentencias case coincide con el valor de la variable. La rama default no necesita una sentencia break.
Cuando se ejecuta switch case, siempre se realiza primero la coincidencia; si la coincidencia tiene éxito, se devuelve el valor del case actual y luego, según si hay break, se determina si se continúa mostrando la salida o se sale de la evaluación.
Ejemplo
Código del archivo Test.java:
El resultado de compilar y ejecutar el código anterior es el siguiente:
良好 你的等级是 C
Si no hay una sentencia break en el bloque de sentencias case, la JVM no muestra secuencialmente el valor de retorno de cada case, sino que continúa la coincidencia; si no hay coincidencia, devuelve el case predeterminado (default).
Código del archivo Test.java:
El resultado de compilar y ejecutar el código anterior es el siguiente:
default
Si no hay una sentencia break en el bloque de sentencias case, después de una coincidencia exitosa, desde el case actual en adelante se mostrarán los valores de todos los case siguientes.
Código del archivo Test.java:
El resultado de compilar y ejecutar el código anterior es el siguiente:
1 2 default
Si el bloque de sentencias case que coincide actualmente no tiene una sentencia break, desde el case actual en adelante se mostrarán los valores de todos los case siguientes; si algún bloque de case posterior tiene una sentencia break, se saldrá de la evaluación.
Código del archivo Test.java:
El resultado de compilar y ejecutar el código anterior es el siguiente:
1 2 3Otras extensiones