Está en la página 1de 5

Otras Estructuras de Control Lgico

Sintaxis del switch - case


La Sintaxis empleada por un switch es la siguiente:

switch (variable)

case <posible valor> : Instrucciones :


break;
case <posible valor> : Instrucciones :
break;
case <posible valor> : Instrucciones :
break;
case <posible valor> : Instrucciones :
break;
case <posible valor> : Instrucciones :
break;
default : Instrucciones ;
Dada una variable de entrada esta se define seguido del vocablo
switch.

Se abre una llave para iniciar los posibles valores que pueda tomar
dicha variable.
Los juegos de valores son iniciados con case seguido del posible
valor de la variable, posteriormente es definido un juego de
instrucciones que sern ejecutados en caso de corresponder con el
valor de la variable y finalmente (opcional) se utiliza vocablo break
para salir de ciclo case.
Un valor opcional es la definicin de la linea default, cuyas
instrucciones sern ejecutadas en caso que la variable del switch
no coincida con los valores definidos.

Cdigo Fuente Meses.java

public class Meses {


public static void main(String[] args) {
int month = 8;
switch (month) {
case 1:

System.out.println("Enero"); break;

case 2:

System.out.println("Febrero");

case 3:

System.out.println("Marzo"); break;

case 4:

System.out.println("Abril"); break;

case 5:

System.out.println("Mayo"); break;

case 6:

System.out.println("Junio"); break;

case 7:

System.out.println("Julio"); break;

case 8:

System.out.println("Agosto");

case 9:

System.out.println("Septiembre");

break;

break;
break;
case 10: System.out.println("Octubre");
break;
case 11: System.out.println("Noviembre");
break;
case 12: System.out.println("Diciembre");
break;
}
}
}

Clase Meses
Se define un primitivo con valor de 8, el cual es utilizado como
variable para un switch.
Dentro del switch son definidos valores del 1 al 12, los cuales
tienen como instruccin imprimir a pantalla el valor del mes
correspondiente.
Cuando se describi la Sintaxis de un switch se mencion que el uso
de break al final de cada declaracin (case) era opcional, esto se debe
a la posibilidad que exista ms de un valor que deba ejecutar las
mismas instrucciones, a continuacin se describe este caso:
Cdigo Fuente Meses2.java

public class Meses2 {


public static void main(String[] args) {
int mes = 10;
int ao = 2002;
int numDias = 0;
switch (mes) {
case 1:
case 3:
case 5:
case 7:
case 8:
case 10:
case 12:
numDias = 31;

break;
case 4:
case 6:
case 9:
case 11:
numDias = 30;
break;
case 2:
if ( ((ao % 4 == 0) && !(ao % 100 ==
0))
|| (ao % 400 == 0) )
numDias = 29;
else
numDias = 28;
break;
}
System.out.println("Numero de Dias = " +
numDias);
}
}
Clase Meses2
En esta Clase el uso de switch vara, ya que son agrupados distintos
valores, al omitir el uso del vocablo break; el uso de break en un switch
es critico ya que al no ser definido puede ocasionar un
comportamiento errtico, ya que al no indicarse se continan
evaluando los distintos valores restantes en un switch, posiblemente
causando un comportamiento no deseado.
Finalmente, vale mencionar que las datos que se puede evaluar a
travs de un switch son solo primitivos, esto es, no se puede definir
un juego de String's y comparar sus valores, para este tipo de

situaciones (String u otro Objeto) se requiere usar condicionales


if/else anidadas.

También podría gustarte