12. Instruccion if - else

En este tema, tendras que tener en cuenta los signos que hemos estudiado en el tema 6.

if - else. Esto es una instruccion de condicion, quiere decir esto que, ejecuta esto si lo otro se cumple. Su estructura seria la siguiente:

 

if ( ) {

 

}else{

 

}

 

Que quiere decir:

 

si (esta condicion se cumple) {

    ejecuta lo que hay aqui

}de lo contrario{

    ejecuta lo que hay aqui

}

 

Imaginemos que queremos crear un programa en el cual nos indique segun la edad si una persona es mayor o menor de edad. Supongamos que menos de 18 es menor de edad y mas de 18 es mayor de edad, el codigo seria el siguiente:

 

public class Ejemplo{

    public static void main(String[ ]args){

        int edad = 21;

        if (edad>=18){

            System.out.println("Eres mayor de edad");

        }else{

            System.out.println("Eres menor de edad");

        }

    }

}

 

Aqui le hemos dicho que tenemos una variable con valor 21 (que es la edad), y luego hemos puestro la instruccion condicional del if-else. 

Como (edad es mayor o igual que 18), el programa ejecuta la sentencia que hay dentro que es "Eres mayor de edad". Si la condicion no se hubiese cumplido, automaticamente pasaria a la siguiente sentencia que es "Eres menor de edad".

Fijate, en estas instrucciones, podemos anidar mas instrucciones condicionales unas dentro de otras, por ejemplo, imaginemos que menos de 18 es menor de edad y mas de 18 es mayor de edad, pero al mismo tiempo si es menos de 50 eres todavia joven, esto se haria anidando una condicion dentro de otra de la siguiente forma:

 

public class Ejemplo{

    public static void main(String[ ]args){

        int edad = 21;

        if (edad >= 18){

            System.out.println("Eres mayor de edad");

            if (edad <= 50){

                System.out.println("Pero eres joven todavia");

            }

        }else{

            System.out.println("Eres menor de edad");

        }

    }

}

 

Fijate como dentro del if hemos puesto otro if, pero las dos condiciones se cumplen. Ejecuta esto y mira lo que ocurre. Luego intenta cambiar el valor de la variable por otras edades, intentalo con 14 años.

El codigo anterior lo podemos hacer de diferente forma sin tener que anidar un if dentro de otro if. Se conseguiria de la siguiente forma:

 

public class Ejemplo{

    public static void main(String[ ]args){

        int edad = 21;

            if (edad >= 18 && edad <= 50){

                System.out.println("Eres mayor de edad");

                System.out.println("Pero eres joven todavia");

        }else{

            System.out.println("Eres menor de edad");

        }

    }

}

 

La diferencia de poner en una misma condicion el && es que obligas a que la condicion se cumpla si o si entre estos dos valores. De la otra forma, anidando los if el programa va leyendo de arriba a abajo y se la condicin se cumple la muestra, si no la cumple la salta.

No es obligatorio poner la instruccion else, es optativa. Podria quedarse de la siguiente forma que tambien estaria bien:

 

public class Ejemplo{

    public static void main(String[ ]args){

        int edad = 21;

        if (edad >= 18){

            System.out.println("Eres mayor de edad");

         }

    }

}

 

Si queremos que un valor sea igual a otro valor, utilizaremos el signo ==, cuidado con poner solo un =, este se refiere para asignar valores a las variables, pero cuando se refiere a valorar dos valores se pone doble signo, ejemplo:

 

public class Ejemplo{

    public static void main(String[ ]args){

        int edad = 21;

        if (edad == 21){

            System.out.println("Eres mayor de edad");

        }else{

            System.out.println("Eres menor de edad");

        }

    }

}

 

Si "edad" es igual a 21, se cumple la condicion.

Todo es cuestion de hacer buen uso de los signos y las condiciones para hacer buenos programas.