Lección 20. Declaración if.

Condicionales y sentencias if._

Las condiciones y las declaraciones if permiten controlar el flujo del programa, decidiendo qué código se ejecuta y qué código se omite.

Pensemos en ello como en la vida real, por ejemplo:

Si llueve, toma un paraguas; de lo contrario, no haga nada.

Cada declaración if necesita una condición que resulte en true o false.

Esto significa que las declaraciones if trabajan de la mano con los valores boolean.

Copiar código
boolean isRaining = true;

if (isRaining) {
  System.out.println("Llevar paraguas");
}

La mayoría de las veces, las condiciones se crean mediante operadores de comparación, como los siguientes:

Puede utilizar estas condiciones para realizar diferentes acciones para diferentes decisiones.

Java tiene las siguientes sentencias condicionales:

Declaración if._

La instrucción if especifica un bloque de código que se ejecutará si una condición es true.

Copiar código
if (condicion) {
  //Bloque a ejecutar si la condicion es verdadera
}

La condición if dentro de la instrucción debe dar como resultado un valor boolean, puede ser una expresión booleana (como x > y) o una variable booleana (como isLightOn).

Por ejemplo:

Copiar código
if (20 > 18) {
  System.out.println("20 es mayor a 18, la condición es true.");
}

También puede comparar variables:

Copiar código
int x = 20;
int y = 18;

if (x > y) {
  System.out.println("x es mayor a y, la condición es true.");
}

Uso de variables booleanas._

También puede probar variables booleanas directamente en una sentencia if.

Copiar código
boolean isLightOn = true;

if (isLightOn) {
  System.out.println("isLightOn es true.");
}

Nota: Escribir if (isLightOn) es lo mismo que escribir if (isLightOn == true), pero más corto y fácil de leer.

Copiar código
boolean isLightOn = false;

if (isLightOn) {
  System.out.println("isLightOn es true.");
}

System.out.println("Esta línea se ejecuta sin importar qué, porque está fuera de la declaración if.");

Uso de `if` sin llaves._

Si una instrucción if tiene solo una línea de código, Puedes escribirlo sin llaves {}.

Copiar código
if (20 > 18)
  System.out.println("20 is greater than 18");

Nota: Sin llaves, a if solo le pertenece la primera línea después de la condición. Cualquier otra línea se ejecutará pase lo que pase, lo que puede conducir a resultados inesperados.

Copiar código
int x = 20;
int y = 18;

if (x > y)
  System.out.println("x es mayor a y");  // Pertenece al if
  System.out.println("Esta línea se ejecuta sin importar qué (no es parte de la declaración if)");

Salida:

Copiar código
x es mayor a y
Esta línea se ejecuta sin importar qué (no es parte de la declaración if)

Declaración else._

La instrucción else le permite ejecutar un bloque de código cuando la condición en la declaración if es false.

Copiar código
if (condicion) {
  //Bloque de código que se ejecutará si la condición es true
} else {
  //Bloque de código que se ejecutará si la condición es false
}

Por ejemplo:

Copiar código
boolean isRaining = false;

if (isRaining) {
  System.out.println("Llevar paraguas");
} else {
  System.out.println("No hacer nada");
}

Dado que isRaining es false, la condición dentro de la declaración if NO se cumple. Eso significa que se omite el bloque if y el bloque else se ejecuta en su lugar, imprimiendo.