viernes, 13 de julio de 2012

03.02 Switch

Estatuto Switch
Se utiliza para ejecutar acciones diferentes  según el valor de una expresión o variable. Este estatuto sustituye al uso de ifs dentro de ifs, concepto conocido como ifs anidados.
Consiste en una serie de de etiquetas case

y un case por omisión (default)

Sintaxis
   switch ( variable)     la variable es de tipo entero o carácter
   {
        case valor1 : accion1; break;
        case valor2 : accion2; break;
             .
             .
        case valor n : accionn; break;
        default: accionD;
    }
;
La acción 1 se ejecuta si la variable adquiere el valor1.

La acción 2 se ejecuta si la variable adquiere el valor 2.

La acción n se ejecuta si la variable adquiere el valor n.

Cualquier otro valor de la variable conduce a la realización de la secuencia accionD, indicada por la palabra reservada default.

La secuencia default puede omitirse

Estatuto break
Cuando se encuentra una sentencia case que concuerda con el valor del switch se ejecutan las sentencias que le siguen y todas las demás a partir de ahí, a no ser que se introduzca una sentencia break para salir de la sentencia switch.
      Ejemplo : Programa que pide un número de mes y escribe la cantidad de días que tiene.
import java.awt.*;
import java.applet.*;
import java.awt.event.*;

// <applet width="200" height="200" code="AppletDecisiones4"></applet>
public class AppletDecisiones4 extends Applet implements ActionListener {
   Label l1, l2;
   TextField t1, t2;
   Button b;

   public AppletDecisiones4() {
      l1 = new Label("mes");
      t1 = new TextField(3);
      l2 = new Label("Resultado");
      t2 = new TextField(16);
      b = new Button("VER MES");
      add(l1);
      add(t1);
      add(b);
      add(l2);
      add(t2);
      b. addActionListener(this);
      }
   public void actionPerformed(ActionEvent ae) {
      int mes = Integer.parseInt(t1.getText());
      switch (mes)
      {
         case 1:
            t2.setText("Enero");
            break;
         case 2:
            t2.setText("Febrero");
            break;
         case 3:
            t2.setText("Marzo");
            break;
         case 4:
            t2.setText("Abril");
            break;
         case 5:
            t2.setText("Mayo");
            break;
         case 6:
            t2.setText("Junio");
            break;
         case 7:
            t2.setText("Julio");
            break;
         case 8:
            t2.setText("Agosto");
            break;
         case 9:
            t2.setText("Septiembre");
            break;
         case 10:
            t2.setText("Octubre");
            break;
         case 11:
            t2.setText("Noviembre");
            break;
         case 12:
            t2.setText("Diciembre");
            break;
         default:
            t2.setText("Error en el mes");
      }
   }
}

Algunos ejemplos de esta aplicación son:

1 comentario: