CodeGym /Cursos /Módulo 1. Java Syntax /operador condicional

operador condicional

Módulo 1. Java Syntax
Nivel 4, Lección 0
Disponible

1. La if-elsedeclaración

Los programas no serían muy útiles si siempre hicieran lo mismo, independientemente de cómo cambien las circunstancias externas. Un programa necesita ser capaz de adaptarse a diferentes situaciones y tomar ciertas acciones en algunas situaciones y actuar de manera diferente en otras.

En Java, esto se hace con una declaración condicional , que usa una palabra clave especial que le permite ejecutar diferentes bloques de comandos según el valor de verdad de una condición.

Una sentencia condicional consta de tres partes: condición , sentencia 1 y sentencia 2 . Si la condición es verdadera, entonces se ejecuta la instrucción 1 . De lo contrario, se ejecuta la sentencia 2 . Ambos comandos nunca se ejecutan. Aquí está la apariencia general de este tipo de declaración:

if (condition)
   statement 1;
else
   statement 2;
La if-elsedeclaración condicional

Es bastante comprensible cuando está escrito en un lenguaje sencillo como este:

If condition is true, then
   execute statement 1;
otherwise
   execute statement 2;
La if-elsedeclaración en lenguaje sencillo

Ejemplos:

Código Explicación
int age = 17;
if (age < 18)
   System.out.println("You are still a child");
else
   System.out.println("You are now an adult");
La salida de pantalla será:
You are still a child
int temperature = 5;
if (temperature < 0)
   System.out.println("It's freezing outside");
else
   System.out.println("It's warm");
La salida de pantalla será:
It's warm
int age = 18;
if (age == 18)
   System.out.println("You've been drafted for military service");
else
   System.out.println("Report for duty anyway");
La salida de pantalla será:
You've been drafted for military service


2. Bloque de sentencias

Si la condición se cumple (o no) y desea que su programa ejecute varios comandos, puede combinarlos en un bloque .

Para combinar comandos en un bloque, los "envuelve" entre llaves . Así es como se ve en general:

{
   statement 1;
   statement 2;
   statement 3;
}

Puede tener tantas declaraciones como desee en un bloque. O incluso ninguno.

Ejemplos de una sentencia if-else combinada con un bloque de sentencias:

Código Explicación
int age = 17;
if (age < 18)
{
   System.out.println("You are still a child");
   System.out.println("Don't talk back to adults");
}
else
{
   System.out.println("You are now an adult");
   System.out.println("And thus ends your youth");
}
La salida de pantalla será:
You are still a child
Don't talk back to adults
int temperature = 5;
if (temperature < 0)
{
   System.out.println("It's freezing outside");
   System.out.println("Put on a hat");
}
else
   System.out.println("It's warm");
La salida de pantalla será:
It's warm
int age = 21;
if (age == 18)
   System.out.println("You've been drafted for military service");
else
{
}
Se ejecutará el bloque vacío.
El código funcionará bien, pero no se mostrará nada.

3. Forma abreviada de la ifdeclaración

A veces es necesario ejecutar una o varias declaraciones si la condición es verdadera , pero no se debe hacer nada si es falsa.

Por ejemplo, podemos especificar este comando: , pero no reaccionar si el autobús no está aquí. En Java, este escenario nos permite usar una forma abreviada: una declaración sin bloque.If Bus No. 62 has arrived, then get aboardifelse

En otras palabras, si las declaraciones deben ejecutarse solo si la condición es verdadera y no hay comandos para ejecutar cuando la condición es falsa, entonces debe usar la ifdeclaración, que es concisa y omite el elsebloque. Se parece a esto:

if (condition)
   statement 1;
La ifdeclaración condicional

A continuación se muestran tres ejemplos de código equivalente:

Código Explicación
int age = 18;
if (age == 18)
{
   System.out.println("You've been drafted for military service");
}
else
{
}
La salida de pantalla será:
You've been drafted for military service

El programa tiene un elsebloque, pero está vacío (no hay declaraciones entre las llaves). Simplemente puede eliminarlo. Nada cambiará en el programa.

Código Explicación
int age = 18;
if (age == 18)
{
   System.out.println("You've been drafted for military service");
}
La salida de pantalla será:
You've been drafted for military service
int age = 18;
if (age == 18)
   System.out.println("You've been drafted for military service");
La salida de pantalla será:
You've been drafted for military service

Comentarios (13)
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION
Melvin Lopez Nivel 3, Brazil
4 diciembre 2024
Usar && es más rápido
Emilio #11574649 Nivel 4, Mordor, Spain
21 octubre 2024

int edad = teclado.nextInt();
        if(edad<=28){
            if (edad>=18){
                System.out.println(nombre + militaryCommissar);
            }
        }
S__Thiago Nivel 6, Alicante, Spain
24 agosto 2024
Buenas tardes, Es un poco absurdo que te dé por mala la tarea al utilizar los ampersand ... Un programador no encontrará siempre la misma manera de solucionar un problema. Diferentes programadores, diferentes soluciones ...
Harold Ramirez Nivel 11, Quito, Ecuador
28 agosto 2024
A mi si me dio bien la tarea usando ampersand. Mi error fue imprimir mas cosas en pantalla Mi declaracion condicional en cuestion: if ((edad>=18) && (edad<=28))
katony Nivel 3, Lima, Peru
8 julio 2024
Concuerdo con Oscar Javier es mas sencillo y mas rapido hacerlo con el &&
Oscar Javier Antonio Galeano Nivel 11, Bogota Expert
27 junio 2024
Me parece que incorporando el && es más rápido resolver el ejercicio
DanyGc Nivel 11, Spain
18 junio 2024
cada vez me gusta más el planteamiento del curso, la segunda tarea me dio un buen rato para pensar por que no terminaba el último paso, solo me hacía falta seguir leyendo el temario :) me encanta!
El Zorro Nivel 11, Argentina
23 mayo 2024
La forma de java 21 seria asi if(age >= 18 || age <=28 ) System.out.println(name + militaryCommissar); 😯
Luis Gerardo Nivel 7, Toluca Expert
24 junio 2024
ahi esta usando un or, cuando usas un or, si se cumple cualquier condicion entra en el if. En este caso por ejemplo: age = 17 17 >= 18 = false 17 <= 28 = true Por lo tanto al ser verdadero cualquiera de los dos si entra age = 30 30 >= 18 = true 30 <= 28 = false Por lo tanto al ser verdadero cualquiera de los dos si entra por lo tanto en lugar de ser || (or), deberia ser && (and) age = 17 17 >= 18 = false 17 <= 28 = true Al no ser los dos verdaderos no entra age = 30 30 >= 18 = true 30 <= 28 = false Al no ser los dos verdaderos no entra age = 20 20 >= 18 = true 20 <= 28 = true Al ser los dos verdadero entra
frankd1 Nivel 3, Caracas, Venezuela
11 abril 2024
Para la actividad 2, deben hacer algo como esto if(edad >=18 && edad <=28) Esto sirve para comparar un rango dentro de un mismo if. Supongo que estolo explicaran mas adelante.
Ravnor Heim Nivel 3, Castellón , Spain
8 abril 2024
Exacto, se puede hacer con el && o con un if anidado.
6 abril 2024
La pista para la solución es in if dentro de otro if porque aún no vemos las condiciones con más evaluaciones &&, ||, and, or.