Operador Ternário
Como podemos simplificar uma declaração if-else?
A declaração if
pode nem sempre parecer elegante, mas o Java oferece uma forma mais rápida e conveniente de verificar condições. Ela é chamada de operador ternário, e possui a seguinte sintaxe:
condition ? expression_for_true : expression_for_false
Primeiro, define-se uma condição, por exemplo, 10 > 5
, e em seguida coloca-se um ponto de interrogação ?
após ela. Se a condição for avaliada como true
, segue-se para o bloco verdadeiro, por exemplo, System.out.println("That's true");
. Se a condição for avaliada como false
, segue-se para o bloco falso, onde pode haver algo como System.out.println("That's not true");
.
Vamos analisar um exemplo mais prático:
Main.java
12345678package com.example; public class Main { public static void main(String[] args) { System.out.println(10 > 5 ? "That's true" : "That's false"); System.out.println(5 > 6 ? "That's true" : "That's false"); } }
Você pode ter notado que usamos o operador ternário dentro da instrução System.out.println();
. Esse é o principal objetivo de utilizar o operador ternário – ele pode ser usado em instruções de saída para reduzir significativamente a quantidade de código.
Também é possível utilizar o operador ternário ao inicializar ou retornar valores. Você aprenderá mais sobre retorno de valores na próxima seção, quando estudar métodos.
Exemplo de uso do operador ternário ao inicializar um valor:
Main.java
12345678910package com.example; public class Main { public static void main(String[] args) { final int a = 10 > 2 ? 5 : 2; final int b = 10 < 2 ? 5 : 2; System.out.println("Variable 'a' has value: " + a); System.out.println("Variable 'b' has value: " + b); } }
Abaixo está um exemplo de código onde o operador ternário é substituído por uma instrução if
regular para ajudar a entender melhor como ele funciona:
Main.java
1234567891011121314151617181920package com.example; public class Main { public static void main(String[] args) { int a = 0; int b = 0; if (10 > 2) { a = 5; } else { a = 2; } if (10 < 2) { b = 5; } else { b = 2; } System.out.println("Variable 'a' has value: " + a); System.out.println("Variable 'b' has value: " + b); } }
O resultado é o mesmo, mas é possível perceber quanto espaço economizamos ao utilizar o operador ternário.
Swipe to start coding
-
Escreva um código que exiba
"The string contains Florida"
se a string contiver a palavra Florida, ou"Florida is not found"
se não contiver. -
Utilize o operador ternário para praticar seu uso.
Solução
solution.java
Obrigado pelo seu feedback!
single
Pergunte à IA
Pergunte à IA
Pergunte o que quiser ou experimente uma das perguntas sugeridas para iniciar nosso bate-papo
Can you show me an example of using the ternary operator in Java?
What are some common mistakes to avoid when using the ternary operator?
Can the ternary operator be nested or used with multiple conditions?
Awesome!
Completion rate improved to 2.63
Operador Ternário
Deslize para mostrar o menu
Como podemos simplificar uma declaração if-else?
A declaração if
pode nem sempre parecer elegante, mas o Java oferece uma forma mais rápida e conveniente de verificar condições. Ela é chamada de operador ternário, e possui a seguinte sintaxe:
condition ? expression_for_true : expression_for_false
Primeiro, define-se uma condição, por exemplo, 10 > 5
, e em seguida coloca-se um ponto de interrogação ?
após ela. Se a condição for avaliada como true
, segue-se para o bloco verdadeiro, por exemplo, System.out.println("That's true");
. Se a condição for avaliada como false
, segue-se para o bloco falso, onde pode haver algo como System.out.println("That's not true");
.
Vamos analisar um exemplo mais prático:
Main.java
12345678package com.example; public class Main { public static void main(String[] args) { System.out.println(10 > 5 ? "That's true" : "That's false"); System.out.println(5 > 6 ? "That's true" : "That's false"); } }
Você pode ter notado que usamos o operador ternário dentro da instrução System.out.println();
. Esse é o principal objetivo de utilizar o operador ternário – ele pode ser usado em instruções de saída para reduzir significativamente a quantidade de código.
Também é possível utilizar o operador ternário ao inicializar ou retornar valores. Você aprenderá mais sobre retorno de valores na próxima seção, quando estudar métodos.
Exemplo de uso do operador ternário ao inicializar um valor:
Main.java
12345678910package com.example; public class Main { public static void main(String[] args) { final int a = 10 > 2 ? 5 : 2; final int b = 10 < 2 ? 5 : 2; System.out.println("Variable 'a' has value: " + a); System.out.println("Variable 'b' has value: " + b); } }
Abaixo está um exemplo de código onde o operador ternário é substituído por uma instrução if
regular para ajudar a entender melhor como ele funciona:
Main.java
1234567891011121314151617181920package com.example; public class Main { public static void main(String[] args) { int a = 0; int b = 0; if (10 > 2) { a = 5; } else { a = 2; } if (10 < 2) { b = 5; } else { b = 2; } System.out.println("Variable 'a' has value: " + a); System.out.println("Variable 'b' has value: " + b); } }
O resultado é o mesmo, mas é possível perceber quanto espaço economizamos ao utilizar o operador ternário.
Swipe to start coding
-
Escreva um código que exiba
"The string contains Florida"
se a string contiver a palavra Florida, ou"Florida is not found"
se não contiver. -
Utilize o operador ternário para praticar seu uso.
Solução
solution.java
Obrigado pelo seu feedback!
Awesome!
Completion rate improved to 2.63single