Ternary Operator
Parte de la sección Fundamentos del Journey de Java de Coddy — lección 30 de 73.
El operador ternario es una declaración if-else de una sola línea simple. Tiene la siguiente sintaxis:
variable = (condition) ? value_if_true : value_if_false;El operador ternario evalúa la condición. Si es true, asigna value_if_true a la variable; de lo contrario, asigna value_if_false.
Por ejemplo:
int age = 20;
String message = (age >= 18) ? "Adult" : "Minor";En este ejemplo, ya que age es mayor o igual a 18, message se asignará el valor "Adult". Si age fuera menor a 18, message se asignaría "Minor".
Puedes anidar operadores ternarios para manejar múltiples condiciones:
int score = 75;
String grade = (score >= 90) ? "A" : (score >= 80) ? "B" : (score >= 70) ? "C" : "F";Esto verifica múltiples condiciones en orden. Si score >= 90, grade es "A"; else if score >= 80, grade es "B"; else if score >= 70, grade es "C"; de lo contrario "F".
Nota: Los operadores ternarios anidados pueden ser difíciles de leer. Para condiciones complejas, use declaraciones if-else en su lugar.
Desafío
PrincipianteCrea un programa que verifique si un número es positivo, negativo o cero usando el operador ternario. El programa debe:
- Tomar una entrada de un entero del usuario.
- Usar el operador ternario para determinar si el número es positivo, negativo o cero.
- Imprimir el resultado en el formato:
"The number is [positive/negative/zero]".
Hoja de referencia
El operador ternario es una declaración if-else de una línea con la sintaxis:
variable = (condition) ? value_if_true : value_if_false;Evalúa la condición y asigna value_if_true si la condición es true, de lo contrario asigna value_if_false.
Ejemplo:
int age = 20;
String message = (age >= 18) ? "Adult" : "Minor";Operadores ternarios anidados para manejar múltiples condiciones:
int score = 75;
String grade = (score >= 90) ? "A" : (score >= 80) ? "B" : (score >= 70) ? "C" : "F";Esto verifica múltiples condiciones en orden. Si score >= 90, grade es "A"; sino si score >= 80, grade es "B"; sino si score >= 70, grade es "C"; de lo contrario "F".
Nota: Los operadores ternarios anidados pueden ser difíciles de leer. Para condiciones complejas, use declaraciones if-else en su lugar.
Pruébalo tú mismo
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
int number = scanner.nextInt();
String result = "";
// Escribe tu código a continuación
System.out.println("The number is " + result);
scanner.close();
}
}Esta lección incluye un breve cuestionario. Empieza la lección para responderlo y registrar tu progreso.
Todas las lecciones de Fundamentos
4Operators Part 1
Arithmetic OperatorsModulo OperatorIncrement/DecrementPost Increment/DecrementArithmetic ShortcutsComparison OperatorsString Comparison5Operators Part 2
Logical Operators Part 1Logical Operators Part 2Recap - Simple LogicLogical Operators Part 3Logical Operators Part 43Variables Part 2
ConstantsNaming ConventionsRecap - Initialize VariablesType Casting Part 1Type Casting Part 26Decision Making
If StatementIf - ElseSwitch StatementTernary OperatorRecap - If ElseNested If - Else