Java

Estructuras condicionales

10/11/2019

Las primeras líneas de codigo que normalmente programa un principiante, o al menos alguien que esta iniciandose en la programación, suelen ser suma y resta de variables, e imprimirlas en pantalla. Pero aquí se veran que son y como funcionan las estructuras condicionales, con los cuales se podrán hacer multiples operaciones, pero teniendo en cuenta una o varias condiciones especiales.

Estructura if

La primera y la más básica de todas, pero a su vez una estructura muy poderosa, es la condición if, que quiere decir si en español. Sirve para decirle a un algoritmo que debe verificar cierta condición, antes de proseguir. Para utilizarlo, se coloca if seguido de un par de parentesis donde colocaremos la condición, y luego, unos corchetes para indicar las instrucciones que deben llevarse a cabo en caso de cumplirse dicha condición. Veamos un ejemplo:

1       public class Prueba{
2           public static void main(String[] args){
3               int varA = 8, varB = 15;
4               int suma = varA + varB;
5               if(suma >= 20){
6                   //Si la variable "suma es mayor o igual a 20..."
7                   System.out.println("La suma de las variables es mayor o igual que 20");
8               }
9           }
10      }

Imagino que está más que claro lo que estamos haciendo. Colocamos la estructura condicional, y luego indicamos que debe imprimirse un texto en caso de cumplirse la condición. Si te fijas, esta vez vamos a imprimir un texto, a diferencia de las veces anterior, y por lo tanto, al ser un texto, el mismo irá encerrado entre comillas.

Si te fijas bien, en este ejemplo solo indicamos que el programa debe hacer algo en caso de cumplirse una condición, pero no en caso contrario. La estructura condicional if siempre devuelve dos posibles valores: true o false, y en todos los lenguajes de programación, tenemos la opción de especificar una nueva serie de instrucciones que deberan ejecutarse en caso de no cumplirse la condición.

Estructura if-else

En español, else significa "si no", y es de esta forma en la que indicaremos al programa una serie de instrucciones que debe seguir en caso de no cumplirse la condición especificada. Mira que pasaría si agregamos un else al jemplo anterior:

1      public class Prueba{
2           public static void main(String[] args){
3               int varA = 8, varB = 15;
4               int suma = varA + varB;
5               if(suma >= 20){
6                  //Si la variable "suma" es mayor o igual a 20, imprime esto:
7                  System.out.println("La suma de las variables es mayor o igual que 20");
8               }
9               else{
10                 //En caso contrario, imprime esto otro:
11                 System.out.println("La suma de las variables es menor que 20");
12              }
13          }
14      }

En caso de no especificarse ningún else y no cumplirse la condición if, el programa simplemente seguirá su curso sin problemas.

Al igual que en este ejemplo, se suelen anidar varias estructuras if-else para realizar comparaciones mas complejas. A continuación te dejo dos ejemplos interesantes. Intenta deducir su funcionamiento:

1       public class Prueba{
2           public static void main(String[] args){                        
3               int var=50;
4               if (var > 100){
5                   System.out.println("La variable es mayor que 100");
6               } else if(var > 80){
7                   System.out.println("La variable es mayor que 80");
8               } else{
9                   System.out.println("La variable es menor que 80");
10              }
11          }
12      }

Ejemplo 2:

1       public class Prueba{
2           public static void main(String[] args){                        
3               int var=50;                        
4               if (var > 100){
5                   System.out.println("La variable es mayor que 100");
6               } else {
7                   if(var > 80){
8                       System.out.println("La variable es mayor que 80");
9                  } else{
10                      System.out.println("La variable es menor que 80");
11                  }
12              }
13          }
14      }

Si prestaste atención y comprendiste toda esta explicación sobre estructuras condicionales, habrás comprendido fácilmente estos ejemplos. Así es como puedes anidar varias estructuras condicionales.

Comparar cadenas de caracteres(String)

Antes de continuar con estructuras condicionales, me gustaría explicar como se comparan cadenas de caracteres, ya que utilizar un operador == no funcionará en estos casos. Para comparar cadenas de caracteres en Java, se utiliza un método llamado "equals", el cual es heredado de una super clase de Java llamada java.lang.Object. No te preocupes mucho por entender esto. Lo entenderás cuando llegues a las lecciones sobre Programación orientada a objetos. El método equals se usa de la siguiente manera:

1       public class Prueba{
2           public static void main(String[] args){
3               String cade1 = "Mi nombre es Leonel";
4               String cade2 = "Mi nombre es Luciano";
5               if(cade1.equals(cade2)){
6                   System.out.println("Las cadenas son iguales");
7               } else{
8                   System.out.println("Las cadenas son distintas");
9               }
10          }
11      }

Para invocar este metodo, se coloca la primer cadena, luego un .equals(), y entre los paréntesis la segunda cadena. Ya pronto vendrán las lecciones sobre métodos y funciones, pero si quieres comenzar a prácticar, ya tienes un ejemplo con el cual guiarte. Una vez aclarado el tema de la comparación entre cadenas de caracteres, continuemos con la última estructura condicional.

Estructura switch

Ahora imagina que tienes la necesidad de hacer un algoritmo que verifique cientos, o quizás miles de condiciones distintas. Si bien para analizar miles de condiciones se utilizan estructuras de bucles, se pueden analizar unas cuantas opciones con una estructura llamada switch.

Es una estructura de selección múltiple, que se tomará el trabajo de analizar una variable y, dada una lista de casos, determinar cual es el caso de esa variable. Mira el siguiente ejemplo:

1       public class Prueba{
2           public static void main(String[] args){      
3               String dia="Jueves";                       
4               switch (dia){
5                   case "Lunes":
6                       System.out.println("Hoy es "+dia);
7                       break;
8                   case "Martes":
9                       System.out.println("Hoy es "+dia);
10                      break;
11                  case "Miercoles":
12                      System.out.println("Hoy es "+dia);
13                      break;
14                  case "Jueves":
15                      System.out.println("Hoy es "+dia);
16                      break;
17                  case "Viernes":
18                      System.out.println("Hoy es "+dia);
19                      break;
20                  case "Sabado":
21                      System.out.println("Hoy es "+dia);
22                      break;
23                  case "Domingo":
24                      System.out.println("Hoy es "+dia);
25                      break;
26                  default:
27                      System.out.println("No has introducido un dia correcto");
28              }
29          }
30      }

Imagina que introduces un String que es el día de la semana. La estructura switch revisa si la variable "dia" cumple con alguno de los casos de la lista, y ejecuta una lista de instrucciones para ese caso. Fijate también que al final se ha colocado un default.

Este caso default se ejecutará al no cumplirse ninguno de los casos anteriores. ¿Para que sirve? En este ejemplo particular, imagina que escribes mal el día, o que en lugar de un día escribiste un nombre, un apellido, un mes, un número, un texto distinto, etc. En cualquiera de estas ocasiones, se ejecutará el default y te mostrará un mensaje que indica que el día introducido es incorrecto. Para esto sirve.

Recuerda realizar todas las pruebas necesarias para comprender lo visto antes de pasar a la siguiente leccion.

Esto fue todo sobre estructuras condicionales.

Volver arriba

Python

  • Proximamente...

HTML

  • Proximamente...