Prueba
Toma de decisiones
Las declaraciones condicionales son usadas para ejecutar acciones diferentes basadas en condiciones diferentes.
La declaración if es una de las declaraciones condicionales más frecuente utilizadas.
Si la expresión condicional de la declaración if evalúa a true (verdadero), el bloque de código dentro de la declaración if es ejecutado. Si la expresión evalúa a false (falso), el primer conjunto de código después del final de la declaración if (después de las llaves de cierre) es ejecutado.
Sintaxis:
if (condición) { //Se ejecuta cuando la condición es verdadera }
Cualquier de los siguientes operadores de comparación pueden ser utilizados para formar la condición:
< menor que
> mayor que
!= no igual que
== igual que
<= menor o igual que
>= mayor o igual que
Por ejemplo:
public class Program { public static void main(String[] args) { int x = 7; if(x < 42) { System.out.println("Hi"); } } }
Recuerda que necesitas utilizas dos signos de igual (==) para probar equidad, ya que un sólo signo de igual es el operador asignación.
Las declaraciones if... else
Una declaración if puede venir seguida por una declaración opcional else, la cual se ejecuta cuando la condición se evalúa como falsa.
Por ejemplo:
public class Program { public static void main(String[] args) { int age = 30; if (age < 16) { System.out.println("Too Young"); } else { System.out.println("Welcome!"); } } }
Como "age" es igual a 30, la condición en la declaración if evalúa a falso y la declaración else es ejecutada.
Declaraciones if anidadas
Puedes utilizar una declaración if-else dentro de otra declaración if o else.
Por ejemplo:
public class Program { public static void main(String[] args) { int age = 25; if(age > 0) { if(age > 16) { System.out.println("Welcome!"); } else { System.out.println("Too Young"); } } else { System.out.println("Error"); } } }
Puedes anidar tantas declaraciones if-else como quieras.
La declaración else if
En lugar de utilizar declaraciones if-else anidadas, puedes utilizar la declaración else if para validar varias condiciones.
Por ejemplo:
public class Program { public static void main(String[] args) { int age = 25; if(age <= 0) { System.out.println("Error"); } else if(age <= 16) { System.out.println("Too Young"); } else if(age < 100) { System.out.println("Welcome!"); } else { System.out.println("Really?"); } } }
Este código validará la condición para evaluar a verdadero y ejecutar las declaraciones dentro de ese bloque.
Puedes incluir tantas declaraciones else if como necesites.
Operadores Lógicos - AND
Los operadores lógicos son utilizados para combinar varias condiciones.
Digamos que quieres que tu programa imprima "Welcome!" sólo cuando la variable age sea mayor que 18 y la variable money sea mayor que 500.
Una manera de lograr esto es usando declaraciones if anidadas:
public class Program { public static void main(String[] args) { int age = 22; int money = 800; if (age > 18) { if (money > 500) { System.out.println("Welcome!"); } } } }
Sin embargo, utilizando el operador lógico AND (&&) es una mejor manera:
public class Program { public static void main(String[] args) { int age = 22; int money = 800; if (age > 18 && money > 500) { System.out.println("Welcome!"); } } }
Si ambos operandos del operador AND son verdaderos, entonces la condición resulta verdadera.
El operador OR y NOT
El operador OR (||) valida si cualquiera de las condiciones es verdadera.
La condición resulta verdadera, si cualquier de los operandos evalúa a verdadero.
Por ejemplo:
public class Program { public static void main(String[] args) { int age = 25; int money = 100; if (age > 18 || money > 500) { System.out.println("Welcome!"); } } }
El código anterior imprimirá "Welcome!" si "age" es mayor que 18 ó si "money" es mayor que 500.
El operador lógico NOT (!) es utilizado para revertir el estado lógico de su operando. Si una condición es verdadera, el operador lógico NOT la convertirá en falsa.
Ejemplo:
public class Program { public static void main(String[] args) { int age = 25; if(!(age > 18)) { System.out.println("Too Young"); } else { System.out.println("Welcome"); } } }
!(age > 18) se lee como "si age NO es mayor que 18".
La declaración switch
Una declaración switch valida una variable por igualdad contra una lista de valores. Cada valor es llamado un case, y la variable que está siendo evaluada es comparada contra cada case.
Sintaxis:
switch (expresión) { case value1 : //instrucciones break; //opcional case value2 : //instrucciones break; //opcional //Puede tener los case que considere necesarios default : //Opcional //instrucciones }
- Cuando la variable que está siendo evaluada es igual que un case, las declaraciones que siguen a ese case serán ejecutadas hasta que una declaración break es alcanzada.
- Cuando una declaración break es alcanzada, el switch finaliza y el flujo de control salta a la siguiente línea después de la declaración switch.
- No todos los case necesitan contener un break. Si no aparece un break, el flujo de control seguirá a través de los cases subsiguientes hasta que se alcance un break.
El siguiente ejemplo valida day contra un conjunto de valores e imprime un mensaje correspondiente.
public class Program { public static void main(String[] args) { int day = 3; switch(day) { case 1: System.out.println("Monday"); break; case 2: System.out.println("Tuesday"); break; case 3: System.out.println("Wednesday"); break; } } }
Puedes tener cualquier número de declaraciones case dentro de un switch. Cada case es seguido por el valor a comparar y dos puntos.
La declaración default
Una declaración switch puede tener un case default opcional.
La declaración default puede ser utilizada para realizar una actividad cuando ningunos de los cases es igualado.
Por ejemplo:
public class Program { public static void main(String[] args) { int day = 3; switch(day) { case 6: System.out.println("Saturday"); break; case 7: System.out.println("Sunday"); break; default: System.out.println("Weekday"); } } }
No se necesita un break en el case default, ya que siempre es la última declaración en el switch.