JavaDabbaDoo.org -Tu comunidad Java parlante Fundamentos
Inicio | Cursos infosintesis.net liberados | JavaSE | Iniciación a la Orientación a Objetos paso a paso
Creación de un Televisor estándar
Paso 4: Sentencia de ramificación múltiple switch

La sentencia switch nos proporciona una forma fácil de ir a partes diferentes del código en función del valor de una expresión.

No cabe duda que es la mejor alternativa a una larga serie de sentencias if-else-if.

Esta es la sintaxis de una ramificación múltiple switch

switch (expresión) {
  
case valor1:
    sentencia1;
    sentencia2;
    break;
  
case valor2:
    sentencia3;
    sentencia4;
    break;
   
case valor3:
    sentencia5;
    sentencia6;
    break;
  default:
   sentencia7;
}

Vamos a crear una pequeña aplicación con una sentencias switch para saber en qué estación se encuentra un mes en particular.

Para ello nos vamos a seguir en el proyecto prosentenciascontrol y en el paquete paqsentenciascontrol.

También vamos a crear una Clase llamada EstacionesSwitch tal y como creamos la Clase HolaMundo en el apartado Crear una nueva Clase

Este es el resultado que vamos a obtener al ejecutar la aplicación EstacionesSwitch

Y este es parte del código de la Clase EstacionesSwitch teniendo en cuenta que los meses pertenecen a las siguientes estaciones

package paqsentenciascontrol;

public class EstacionesSwitch {

  public static void main(String[] args) {
    int mes = 14;
    String strEstacion;

    switch (mes){
      case 12:
      case 1:
      case 2:
        strEstacion = "invierno";
        break;

      .
      .
      .

    }

    System.out.println("El mes " + mes + " es " + strEstacion);
  }
}


Compara tu código con la solución propuesta

Ahora vamos a ahondar un poco más en la sentencia break. Si añadimos el siguiente código

.
.
.

  public static void main(String[] args) {
    int mes = 12;
    String strEstacion;

    switch (mes){
      case 12:
        System.out.println("case 12");
      case 1:
        System.out.println("case 1");
      case 2:
        System.out.println("case 2");
        strEstacion = "invierno";
        break;
.
.
    
}

Como podemos observar en la salida al inicalizar la variable mes a valor 12, se han ejecutado las sentencias correspondintes al case 12, 1 y 2 hasta que se ha encontrado con la sentencia break del case 2 y entonces se ha salido de la sentencia switch.

Página anterior
Ignasi Pérez Valls
fundador-director Infosintesis Solutions Group
asesor-formador independiente
ignasiperez[ARROBA]javadabbadoo[PUNTO]org
Diciembre 2008
JavaDabbaDoo.org
Tu comunidad Java parlante. Cursos abiertos, tutoriales y mucho mucho más ...