En Java, switch es una sentencia que se utiliza para elegir una de
entre múltiples opciones; es especialmente útil cuando la selección se basa en el
valor de una variable simple o de una expresión simple denominada expresión
de control o selector; el valor de dicha expresión puede ser de
tipo int o char pero no de tipo double.
Sintaxis
switch (selector)
{
case etiqueta1 : sentencias1 ;
break;
case etiqueta2 : sentencias2 ;
break;
.
.
.
case etiquetan : sentenciasn ;
break;
default: sentenciasd ; //
opcional
}
La
expresión de control o selector se evalúa y compara con cada una de las
etiquetas de case; además, debe ser un tipo ordinal, por ejemplo, int, char, bool
pero no float o string; cada etiqueta es un valor único, constante y debe tener
un valor diferente de los otros. Si el valor de la expresión es igual a una de
las etiquetas case, por ejemplo etiqueta1,
entonces la ejecución comenzará con la primera sentencia de sentencias1
y continuará hasta encontrar break o el final de switch. El tipo de cada
etiqueta debe ser el mismo que la expresión de selector; las expresiones están
permitidas como etiquetas pero sólo si cada operando de la expresión es por sí misma
una constante; por ejemplo, 4, +8 o m*15, siempre que m hubiera sido definido anteriormente
como constante nombrada. Si el valor del selector no está listado en ninguna
etiqueta case no se ejecutará ninguna de las opciones a menos que se
especifique una acción predeterminada. La omisión de una etiqueta default puede
crear un error lógico difícil de prever; aunque ésta es opcional, se recomienda
su uso, a menos de estar absolutamente seguro de que todos los valores de selector
están incluidos en las etiquetas case.
Sentencia break
Para alterar el flujo de control de una sentencia de selección
múltiple o de los bucles, existe la sentencia break la cual termina el bucle.
Sintaxis
break;
break
etiqueta;
Una sentencia break consta de la misma palabra reservada seguida
por un punto y coma; cuando la computadora ejecuta las sentencias siguientes a
una etiqueta case, continúa hasta que se alcanza una sentencia break; al
hacerlo, la computadora termina la sentencia switch.
Si se omiten las sentencias break después de ejecutar el código case, la computadora ejecutará el código siguiente hasta el
próximo case.
Ejemplo 1
switch (opcion)
{
case 0:
System.out.println("Cero!");
break;
case 1:
System.out.println("Uno!");
break;
case 2:
System.out.println("Dos!");
break;
default:
System.out.println("Fuera de
rango!");
}
Ejemplo 2
switch (opcion)
{
case 0:
case 1:
case 2:
System.out.println("Menor que
3!");
break;
case 3:
System.out.println("Igual a 3!");
break;
default:
System.out.println("Mayor que
3!");
}
Nota:
ECAUCIÓN
Si se olvida break en una sentencia switch, el compilador no
emitirá mensaje de error pues se habrá escrito una sentencia switch correcta en
cuanto a sintaxis, pero no realizará las tareas asignadas.
Sentencia break en bucles
La
sentencia break a veces se utiliza para realizar una terminación anormal del
bucle o antes de lo previsto; su sintaxis es:
break;
La
sentencia break se utiliza para la salida de un bucle while, do-while o for, aunque
su uso más frecuente es dentro de una sentencia switch.
while (condición1)
{
if (condición2)
break;
// sentencias
}
Sentencia continue
Esta sentencia se utiliza en el contexto de un bucle y hace que la
ejecución prosiga con la siguiente iteración saltando las sentencias que están
a continuación; en bucles while/dowhile, la ejecución prosigue con la condición
de control del bucle, mientras que en bucles for, la ejecución prosigue con la
expresión de incremento. Su sintaxis es la siguiente:
continue;
continue etiqueta;
Ejemplo:
for (cuenta = 1; cuenta <=
100; cuenta++)
{
System.out.print ("Introduzca un número, -1, Salir: ");
n = en.nextIn( );
if (n < 0) continue;
suma += n: // no se ejecuta si n < 0
}
En este caso, la sentencia
continue salta a la sentencia cuenta++ de la expresión
del bucle for.
No hay comentarios:
Publicar un comentario