El formato de utilización es el siguiente:
switch(expresión)
{
case valorLiteral1:
BloqueSentencias1;
break;
case valorLiteral2:
BloqueSentencias2;
break;
case valorLiteralN:
BloqueSentenciasN;
break;
default:
BloqueSentenciasDefault;
}
La secuencia de ejecución es la siguiente:{
case valorLiteral1:
BloqueSentencias1;
break;
case valorLiteral2:
BloqueSentencias2;
break;
case valorLiteralN:
BloqueSentenciasN;
break;
default:
BloqueSentenciasDefault;
}
- Obtener el resultado de la expresión.
- Comparar el resultado obtenido con valorLiteral1.
• Si son iguales:
• Ejecutar BloqueSentencias1.
• Saltar al paso 5. - Comparar el resultado obtenido con valorLiteral2.
• Si son iguales:
• Ejecutar BloqueSentencias2.
• Saltar al paso 5.
... - Comparar el resultado obtenido con valorLiteralN.
• Si son iguales:
• Ejecutar BloqueSentenciasN.
• Saltar al paso 5.
• En caso contrario:
• Ejecutar BloqueSentenciasDefault - Continuar con la ejecución del programa.
Ejemplo de uso para obtener el nombre del día de la semana según el número de orden del día de la semana (1 a 7):
String textoDíaSemana;
//Obtener el número de día de la semana escrito por el usuario
int numDía = Integer.valueOf(campoDía.getText());
switch(numDía)
{
case 1:
textoDíaSemana = "Lunes";
break;
case 2:
textoDíaSemana = "Martes";
break;
case 3:
textoDíaSemana = "Miércoles";
break;
case 4:
textoDíaSemana = "Jueves";
break;
case 5:
textoDíaSemana = "Viernes";
break;
case 6:
textoDíaSemana = "Sábado";
break;
case 7:
textoDíaSemana = "Domingo";
break;
default:
textoDíaSemana = "Incorrecto";
}
//Mostrar el nombre del día en un campo de texto
campoNombreDía.setText(textoDíaSemana);
//Obtener el número de día de la semana escrito por el usuario
int numDía = Integer.valueOf(campoDía.getText());
switch(numDía)
{
case 1:
textoDíaSemana = "Lunes";
break;
case 2:
textoDíaSemana = "Martes";
break;
case 3:
textoDíaSemana = "Miércoles";
break;
case 4:
textoDíaSemana = "Jueves";
break;
case 5:
textoDíaSemana = "Viernes";
break;
case 6:
textoDíaSemana = "Sábado";
break;
case 7:
textoDíaSemana = "Domingo";
break;
default:
textoDíaSemana = "Incorrecto";
}
//Mostrar el nombre del día en un campo de texto
campoNombreDía.setText(textoDíaSemana);
Por ejemplo, observemos el siguiente trozo de código:
int num = 1;
switch(letra)
{
case 'A':
num += 1;
case 'B':
num += 2;
break;
case 'C':
num += 3;
}
switch(letra)
{
case 'A':
num += 1;
case 'B':
num += 2;
break;
case 'C':
num += 3;
}
Si se desea que un mismo bloque de código se ejecute para varios valores literales, se utilizará un case para cada valor, escribiendo el bloque de código detrás del último case:
switch(letra)
{
case 'a':
case 'e':
case 'i':
case 'o':
case 'u':
textoMensaje = "Vocal minúscula";
break;
case 'A':
case 'E':
case 'I':
case 'O':
case 'U':
textoMensaje = "Vocal mayúscula";
}
{
case 'a':
case 'e':
case 'i':
case 'o':
case 'u':
textoMensaje = "Vocal minúscula";
break;
case 'A':
case 'E':
case 'I':
case 'O':
case 'U':
textoMensaje = "Vocal mayúscula";
}
No hay comentarios:
Publicar un comentario