La declaración de cambio es una declaración de cambio con una única condición y múltiples ramas. El formato de sintaxis es el siguiente:
cambiar (expresión) {valor constante de caso 1: declaración 1; valor constante de caso 2: declaración n; Declaración n+1;}
El valor de "expresión" en la declaración de cambio puede ser de tipo byte, short, int o char. "Valor constante 1" a "valor constante n" también son de tipo byte, short, int o char, y deben ser de tipo byte, short, int o char. ser diferentes unos de otros.
La declaración de cambio primero calcula el valor de la expresión. Si el valor de la expresión es igual al valor constante después de un determinado caso, las declaraciones en el caso se ejecutan hasta que se encuentra la declaración de interrupción. Si no se utiliza una declaración de interrupción en un caso, una vez que el valor de la expresión es igual al valor constante detrás del caso, el programa no solo ejecutará las declaraciones en el caso, sino que también continuará ejecutando declaraciones en casos posteriores hasta que Se encuentra una declaración de interrupción. Si el valor de la expresión en la declaración de cambio no es igual al valor constante de cualquier caso, se ejecuta la declaración que sigue al valor predeterminado. El valor predeterminado en la declaración de cambio es opcional. Si no existe y el valor de la expresión en la declaración de cambio no es igual al valor constante de cualquier caso, entonces la declaración de cambio no realizará ningún procesamiento.
La característica común de las declaraciones de bifurcación condicional if que aprendimos anteriormente es elegir realizar una operación de bifurcación basada en una o más condiciones, en lugar de elegir realizar múltiples operaciones de bifurcación. En la declaración de cambio, al usar racionalmente la declaración de interrupción, puede lograr el resultado de ejecutar una o varias operaciones de rama según una condición.
Ejemplo:
publicclassMain{publicstaticvoidmain(Stringargs[]){chargrade='B';switch(grade){case'A':System.out.println(excelente);break;case'B':System.out.println(good); break;case'C':System.out.println(aprobado);break;default:System.out.println(desconocido);}}}
Los resultados de ejecución son los siguientes:
bien