articulo

Estructura de control If en Java

En esta entrada se pretende ilustrar el uso de la estructura de control if en el lenguaje de programación Java. Hay que recordar que esta estructura de control usa a los operadores lógicos y relacionales. Se partirá del siguiente ejercicio:

Realiza una programa en Java que permita saber cual es el mayor de los siguientes números 10, 20. Al leer este ejercicio se sabe que la respuesta que debe de dar el programa es … 20. Veamos el código:

class Mayor {
    public static void main (String [] args){
       int n1 = 10; // se crea una variable con el valor de 10.
       int n2 = 20; // se crea una variable con el valor de 20.
       if (n1 > n2){  //se crea la condición con el operador relacional mayor que, observe que se coloca entre paréntesis
          System.out.println ("El mayor es: " + n1); //Solo si se cumple la condición del if se entrara a esta sección.
       }else{
          System.out.println ("El mayor es: " + n2); //Solo en caso contrario, es decir, sino se cumple la condición del if, se entra aquí.
      }
   }
}

De acuerdo al código anterior se puede observar que:

  • El nombre del archivo donde se contenga el código debe de llamarse Mayor.java
  • Se crearon dos variables de tipo entera y se le asigno el valor de 10 y 20 respectivamente.
  • Se usa el operador relacional “mayor que” (>), este es el operador que permite darle la inteligencia al programa.
  • se usa el “else” una parte del la estructura de control del if que permite realizar una acción solo si no se cumple la condición, brindando un poco mas de inteligencia.

Si se deseará buscar el menor, solo habría que cambiar el operador de mayor que por el de menor que, y estaría funcionando buscando el menor, el código quedaría de la siguiente manera:

class Mayor {
    public static void main (String [] args){
       int n1 = 10; // se crea una variable con el valor de 10.
       int n2 = 20; // se crea una variable con el valor de 20.
       if (n1 < n2){  //se crea la condición con el operador relacional mayor que, observe que se coloca entre paréntesis
          System.out.println ("El menor es: " + n1); //Solo si se cumple la condición del if se entrara a esta sección.
       }else{
          System.out.println ("El menor es: " + n2); //Solo en caso contrario, es decir, sino se cumple la condición del if, se entra aquí.
      }
   }
}

En este segundo código se puede observar que solo se cambió la palabra mayor por menor y el símbolo relacional. Y con esta opción se esta dando la inteligencia al programa para que pueda identificar cual es el mayor y el menor. Pero ¿cómo se puede hacer para que en un solo programa pueda hacer esa discriminación? es decir, se le puede brindar la inteligencia al programa para que discrimine ambos números en e identifique ¿cuál es el mayor y el menor?. Para ello vea el siguiente código:

class Mayor {
    public static void main (String [] args){
       int n1 = 10; // se crea una variable con el valor de 10.
       int n2 = 20; // se crea una variable con el valor de 20.
       if (n1 > n2){  //se crea la condición con el operador relacional mayor que, observe que se coloca entre paréntesis
          System.out.println ("El mayor es: " + n1); //Solo si se cumple la condición del if se entrara a esta sección.
          System.out.println ("El menor es: " + n2); //Esta línea permitirá que el programa sepa cual es menor y mayor.
       }else{
          System.out.println ("El mayor es: " + n2); //Solo en caso contrario, es decir, sino se cumple la condición del if, se entra aquí.
          System.out.println ("El menor es: " + n1); //Se agrega la linea que permite saber el menor en el caso contrario.
      }
   }
}

Como se puede observar en este tercer código, se le da la inteligencia al programa para que discrimine y sepa cual es el menor y mayor. Si le cabe duda de que realmente funcione, pruebe en cambiar los valores de las variables que se están evaluando, es decir, que debe de cambiarle los valores de n1 y n2 diferentes a los que se trabajo aquí.

Otra forma de que un programa pueda identificar el menor de un par de números es hacer uso de un operador lógico que brinda la oportunidad de hacer una negación, es decir, si se niega un resultado positivo el resultado final sería una negación y se estaría obteniendo un resultado contrario. Vea el siguiente código:

class MenorNegativo {
    public static void main (String [] args){
       int n1 = 10; // se crea una variable con el valor de 10.
       int n2 = 20; // se crea una variable con el valor de 20.
       if (!(n1 > n2)){  //se coloca entre paréntesis el símbolo de negación (cierre de admiración). Observe que el símbolo mayor que no se ha cambiado.
          System.out.println ("El menor es: " + n1); //Solo si se cumple la condición del if se entrara a esta sección.
       }else{
          System.out.println ("El menor es: " + n2); //Solo en caso contrario, es decir, sino se cumple la condición del if, se entra aquí.
      }
   }
}

En este último código se puede rescatar lo siguiente:

  • Se puede hacer la búsqueda del menor negando el resultado de la búsqueda del mayor que.
  • Al usar el símbolo de negación (el que permite cerrar una oración de admiración (!)).
  • Se obtiene el mismo resultado que el cambiar el operador relacional.

Leave a Reply

Your email address will not be published. Required fields are marked *