Java – Sentencia IF

En Java como en muchos lenguajes de programación existe la sentencia IF. La sentencia if es una sentencia de control que permite ejecutar bloques de código dependiendo de una condición.  La estructura básica de esta sentencia y su sintaxis es la siguiente:

if (condición) {
    sentencias
}

Un ejemplo un poco más real y ejecutable es la siguiente:

public class EjemploIF {
    public static void main(String args[]){
        
        if (true) System.out.println("Primer ejemplo de IF");
        
        if (true) {
            System.out.println("Segundo ejemplo de IF");
        }
    }
}

En las líneas de código anteriores tenemos un if con una única sentencia y más adelante un if con un bloque de código que puede tener una o más sentencias. En el segundo ejemplo, delimitadas por los corchetes “{}” se encuentran la o las “sentencias” que deberán ser ejecutadas si la “condición” se cumple.





Sin embargo, estos ejemplos son quizá demasiado simples.  Normalmente, la condición involucra el uso de una o más variables y desde luego más sentencias en el bloque de código. En algunas ocasiones será necesario hacer comparaciones para dar como resultado un valor booleano verdadero o falso (true o false) en la condición, como en el ejemplo siguiente:

public class EjemploIF {
    public static void main(String args[]){
        
        int i = 1;
        int j = 2;
                
        if (i < j) {
            System.out.println("Ejemplo de IF");
        }
    }
}

Ejecutar el código anterior tendrá como resultado en consola lo siguiente:

Ejemplo de IF

Puede hacer el ejemplo tu mismo.

Sentencia IF ELSE

Desde luego, también existe la sentencia IF ELSE.  Que permite ejecutar otro bloque de código, cuando la primera condición no se cumple y hacer la evaluación de otra condición inmediatamente después de que la primera no se cumplió.

public class EjemploIF {
    public static void main(String args[]){
        
        int i = 3;
        int j = 1;
        int k = 2;
                
        if (i < j) {
            System.out.println("La primera condición se cumple.");
        } else if (i < k) {
            System.out.println("La primera condición no se cumple.");
        } else {
            System.out.println("La segunda condición no se cumple.");
        }
    }
}

El resultado será el siguiente:

La segunda condición no se cumple.

Ninguna de las condiciones se cumple.

Sentencias IF anidadas.

Es completamente normal tener un if dentro de un bloque de código de otra sentencia if.

public class EjemploIF {
    public static void main(String args[]){
        int i = 3;
        int j = 1;
        int k = 2;
                
        if (i > j) {
            System.out.println("La primera condición se cumple.");
            if (k < i) {
                System.out.println("La condición del if anidado se cumple.");
                if (j < k) {
                    System.out.println("La condición del segundo if anidado se cumple.");
                }
            }
        } else {
            System.out.println("La primera condición no se cumple.");
        }
    }
}

Lo único que debes cuidar es la congruencia en la evaluación de cada condición, es decir no tendría sentido insertar un if en una condición en un else que no se haya cumplido en la condición anteriormente.

public class EjemploIF {
    public static void main(String args[]){
        int i = 2;
        int j = 1;
                
        if (i < j) {
            System.out.println("La primera condición se cumple.");
        } else {
            if(i < j) {
                System.out.println("Este mensaje nunca se mostrará.");
            }
        }
    }
}

En el ejemplo anterior, hay una línea de código que nunca se mostrará: “Este mensaje nunca se mostrará”.

Algo que debes notar es que seguramente harás distintos tipos de comparaciones al verificar una condición, sobre todo si no estás evaluando sobre el valor directo de una variable booleana.  Para estas comparaciones usarás los distintos operadores que existen como el igual, diferente a, menor o mayor que, etc.  Veremos ejemplos de estos operadores en otro momento.