Ternary Operator
Parte da seção Fundamentos do Journey de Java da Coddy — lição 30 de 73.
O operador ternário é uma declaração if-else de uma única linha simples. Ele tem a seguinte sintaxe:
variable = (condition) ? value_if_true : value_if_false;O operador ternário avalia a condição. Se for true, ele atribui value_if_true à variável; caso contrário, ele atribui value_if_false.
Por exemplo:
int age = 20;
String message = (age >= 18) ? "Adult" : "Minor";Neste exemplo, como age é maior ou igual a 18, message será atribuído o valor "Adult". Se age fosse menor que 18, message seria atribuído "Minor".
Você pode aninhar operadores ternários para lidar com múltiplas condições:
int score = 75;
String grade = (score >= 90) ? "A" : (score >= 80) ? "B" : (score >= 70) ? "C" : "F";Isso verifica múltiplas condições em ordem. Se score >= 90, grade é "A"; senão se score >= 80, grade é "B"; senão se score >= 70, grade é "C"; caso contrário "F".
Nota: Operadores ternários aninhados podem ser difíceis de ler. Para condições complexas, use instruções if-else em vez disso.
Desafio
InicianteCrie um programa que verifica se um número é positivo, negativo ou zero usando o operador ternário. O programa deve:
- Receber um inteiro como entrada do usuário.
- Usar o operador ternário para determinar se o número é positivo, negativo ou zero.
- Imprimir o resultado no formato:
"The number is [positive/negative/zero]".
Folha de consulta
O operador ternário é uma declaração if-else de uma linha com a sintaxe:
variable = (condition) ? value_if_true : value_if_false;Ele avalia a condição e atribui value_if_true se a condição for true, caso contrário atribui value_if_false.
Exemplo:
int age = 20;
String message = (age >= 18) ? "Adult" : "Minor";Operadores ternários aninhados para lidar com múltiplas condições:
int score = 75;
String grade = (score >= 90) ? "A" : (score >= 80) ? "B" : (score >= 70) ? "C" : "F";Isso verifica múltiplas condições em ordem. Se score >= 90, grade é "A"; senão se score >= 80, grade é "B"; senão se score >= 70, grade é "C"; caso contrário "F".
Nota: Operadores ternários aninhados podem ser difíceis de ler. Para condições complexas, use declarações if-else em vez disso.
Experimente você mesmo
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 = "";
// Escreva seu código abaixo
System.out.println("The number is " + result);
scanner.close();
}
}Esta lição inclui um quiz rápido. Comece a lição para respondê-lo e acompanhar seu progresso.
Todas as lições 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