2.-Selección (if, if else, switch)

IF

La instrucción if se compone de dos partes:

  1. La condición que se evaluará.
  2. La instrucción o secuencia de instrucciones que se ejecutarán si la condición es verdadera.

Por ejemplo, en el siguiente fragmento de código, si el valor de codigo es igual a 123, se mostrará el mensaje “abierta”:

public void actionPerformed(ActionEvent e){
   String cadenaCodigo;
   int codigo;
   cadenaCodigo = campoCodigo.getText();
   codigo = Integer.parseInt(cadenaCodigo);
   if (codigo == 123){
      campoTextoResultado.setText("abierta");
   }
}

 

IF…ELSE

A veces, es necesario especificar dos secuencias de acciones: las que se ejecutan si la condición es verdadera y las que se realizan si la condición es falsa. Aquí es donde entra en juego la instrucción if...else.

Por ejemplo, en el siguiente fragmento de código, si la edad es mayor que 17, se mostrará el mensaje “puede votar”. De lo contrario, se mostrará el mensaje “no puede votar”:

<cib-code-block clipboard-data="if (edad > 17){ campoDecision.setText(" puede="" votar");="" campocomentario.settext("felicidades");="" }="" else{="" campodecision.settext("no="" campocomentario.settext("lo="" siento");="" campodespedida.settext("le="" deseo="" lo="" mejor");="" "="" code-lang="java">

if (edad > 17){
   campoDecision.setText("puede votar");
   campoComentario.setText("felicidades");
}
else{
   campoDecision.setText("no puede votar");
   campoComentario.setText("lo siento");
}
campoDespedida.setText("Le deseo lo mejor");

 

SWITCH

La instrucción switch es otra forma de usar varias instrucciones if. Aunque siempre podrás realizar todo lo que necesites con la ayuda de las instrucciones if, switch puede ser una alternativa más eficiente en circunstancias apropiadas.

En una instrucción switch, se antepone la palabra case a cada uno de los posibles valores. La instrucción break transfiere el control al final de la instrucción switch.

En este ejemplo, el valor de mes se compara con cada uno de los casos (case). Si mes coincide con un case, se ejecuta el código correspondiente y se asigna el nombre del mes a la variable nombreMes. La instrucción break se utiliza para salir del switch una vez que se ha encontrado una coincidencia. Si mes no coincide con ningún case, se ejecuta el código bajo default. En este caso, se imprimirá “Agosto” porque mes es igual a 8.

int mes = 8;
String nombreMes;
switch (mes) {
    case 1:  nombreMes = "Enero";
             break;
    case 2:  nombreMes = "Febrero";
             break;
    case 3:  nombreMes = "Marzo";
             break;
    case 4:  nombreMes = "Abril";
             break;
    case 5:  nombreMes = "Mayo";
             break;
    case 6:  nombreMes = "Junio";
             break;
    case 7:  nombreMes = "Julio";
             break;
    case 8:  nombreMes = "Agosto";
             break;
    case 9:  nombreMes = "Septiembre";
             break;
    case 10: nombreMes = "Octubre";
             break;
    case 11: nombreMes = "Noviembre";
             break;
    case 12: nombreMes = "Diciembre";
             break;
    default: nombreMes = "Mes no válido";
             break;
}
System.out.println(nombreMes);

 

En resumen, las instrucciones if, if...else y switch son herramientas fundamentales en la programación que permiten controlar el flujo de un programa. La instrucción if permite ejecutar un bloque de código si se cumple una condición. La instrucción if...else amplía esta funcionalidad al permitir ejecutar un bloque de código diferente si la condición no se cumple. Por último, la instrucción switch ofrece una forma eficiente de manejar múltiples condiciones.

Estas instrucciones son esenciales para crear programas que puedan tomar decisiones y adaptarse a diferentes situaciones. Sin embargo, es importante recordar que cada una de estas instrucciones tiene sus propias ventajas y desventajas, y la elección de cuál usar dependerá del problema específico que se esté tratando de resolver. Con la práctica y la experiencia, se podrá determinar cuál es la mejor herramienta para cada situación.