Sentencia de decisión switch
Semana 3
Generalidades.
* Permite ejecutar una de varias acciones, en función del valor de una expresión. Es una sentencia especial para decisionesmúltiples. La sintaxis para utilizar esta sentencia es:
switch (expresión)
{
case expresión_constante_1 :
[sentencia1;]
break;
case expresión_constante_2 :
[sentencia2;]
break;
caseexpresión_constante_3 :
[sentencia3;]
break;
.
.
.
[default]
[sentencia n;]
break;
}
* Donde expresión es una expresión entera de tipo char, byte, short o int y expresión_constantees una constante también de los mismos tipos.
* La sentencia switch evalúa la expresión entre paréntesis y compara su valor con las constantes de cada case.
* Si no existe una constanteigual al valor de la expresión, entonces se ejecutan las sentencias que están a continuación de default, si esta cláusula ha sido especificada.
* La sentencia switch puede incluir cualquier número deetiquetas case
Ejemplo:
Realizaremos un programa que lea una fecha representada por dos enteros, mes y año y dé como resultado los días correspondientes al mes. Por ejemplo el programa pediría alusuario los valores del mes y del año:
Introducir mes (##) y año (####) : 12 2008
Y mostraría a continuación:
El mes 12 del año 2008 tiene 31 días.
Hay que tener en cuenta que febreropuede tener 28 días o bien 29 si el año es bisiesto. Un año es bisiesto cuando es múltiplo de 4 y no de 100 o cuando es múltiplo de 400; el año 2100 no es bisiesto porque aunque sea múltiplo de 4,también lo es de 100 y no es múltiplo de 400.
La solución del problema podría enfocarse de la siguiente forma:
* Primero definimos las variables que vamos a utilizar en los cálculos:
int dias=0,mes=0, año=0;
* Luego leemos los datos del mes y del año:
System.out.print(“Mes (##) : “) ; mes=Leer.datoInt();
System.out.print(“ Año (####) : “) ; año=Leer.datoInt();
*...
Regístrate para leer el documento completo.