Em Java, operadores condicionais verifique a condição e decida o resultado desejado com base em ambas as condições. Nesta seção, discutiremos o operador condicional em Java.
Tipos de operador condicional
Existem três tipos de condicional operador em Java :
- Condicional E
- OU condicional
- Operador Ternário
Operador | Símbolo |
---|---|
E Condicional ou Lógico | && |
OU Condicional ou Lógico | || |
Operador Ternário | ?: |
Condicional E
O operador é aplicado entre duas expressões booleanas. É denotado pelos dois operadores AND (&&). Retorna verdadeiro se e somente se ambas as expressões forem verdadeiras, caso contrário retorna falso.
Expressão1 | Expressão2 | Expressão1 && Expressão2 |
---|---|---|
Verdadeiro | Falso | Falso |
Falso | Verdadeiro | Falso |
Falso | Falso | Falso |
Verdadeiro | Verdadeiro | Verdadeiro |
OU condicional
O operador é aplicado entre duas expressões booleanas. É denotado pelos dois operadores OR (||). Ele retorna verdadeiro se alguma das expressões for verdadeira, caso contrário, retorna falso.
Expressão1 | Expressão2 | Expressão1 || Expressão2 |
---|---|---|
Verdadeiro | Verdadeiro | Verdadeiro |
Verdadeiro | Falso | Verdadeiro |
Falso | Verdadeiro | Verdadeiro |
Falso | Falso | Falso |
Vamos criar um programa Java e usar o operador condicional.
ConditionalOperatorExample.java
public class ConditionalOperatorExample { public static void main(String args[]) y<z); system.out.println((xz) && x<y); } < pre> <p> <strong>Output</strong> </p> <pre> true false </pre> <h3>Ternary Operator</h3> <p>The meaning of <strong>ternary</strong> is composed of three parts. The <strong>ternary operator (? :)</strong> consists of three operands. It is used to evaluate Boolean expressions. The operator decides which value will be assigned to the variable. It is the only conditional operator that accepts three operands. It can be used instead of the if-else statement. It makes the code much more easy, readable, and shorter.</p> <h4>Note: Every code using an if-else statement cannot be replaced with a ternary operator.</h4> <p> <strong>Syntax:</strong> </p> <pre> variable = (condition) ? expression1 : expression2 </pre> <p>The above statement states that if the condition returns <strong>true, expression1</strong> gets executed, else the <strong>expression2</strong> gets executed and the final result stored in a variable.</p> <img src="//techcodeview.com/img/java-tutorial/89/conditional-operator-java.webp" alt="Conditional Operator in Java"> <p>Let's understand the ternary operator through the flowchart.</p> <img src="//techcodeview.com/img/java-tutorial/89/conditional-operator-java-2.webp" alt="Conditional Operator in Java"> <p> <strong>TernaryOperatorExample.java</strong> </p> <pre> public class TernaryOperatorExample { public static void main(String args[]) { int x, y; x = 20; y = (x == 1) ? 61: 90; System.out.println('Value of y is: ' + y); y = (x == 20) ? 61: 90; System.out.println('Value of y is: ' + y); } } </pre> <p> <strong>Output</strong> </p> <pre> Value of y is: 90 Value of y is: 61 </pre> <p>Let's see another example that evaluates the largest of three numbers using the ternary operator.</p> <p> <strong>LargestNumberExample.java</strong> </p> <pre> public class LargestNumberExample { public static void main(String args[]) { int x=69; int y=89; int z=79; int largestNumber= (x > y) ? (x > z ? x : z) : (y > z ? y : z); System.out.println('The largest numbers is: '+largestNumber); } } </pre> <p> <strong>Output</strong> </p> <pre> The largest number is: 89 </pre> <p>In the above program, we have taken three variables x, y, and z having the values 69, 89, and 79, respectively. The expression <strong>(x > y) ? (x > z ? x : z) : (y > z ? y : z)</strong> evaluates the largest number among three numbers and store the final result in the variable largestNumber. Let's understand the execution order of the expression.</p> <img src="//techcodeview.com/img/java-tutorial/89/conditional-operator-java-3.webp" alt="Conditional Operator in Java"> <p>First, it checks the expression <strong>(x > y)</strong> . If it returns true the expression <strong>(x > z ? x : z)</strong> gets executed, else the expression <strong>(y > z ? y : z)</strong> gets executed.</p> <p>When the expression <strong>(x > z ? x : z)</strong> gets executed, it further checks the condition <strong>x > z</strong> . If the condition returns true the value of x is returned, else the value of z is returned.</p> <p>When the expression <strong>(y > z ? y : z)</strong> gets executed it further checks the condition <strong>y > z</strong> . If the condition returns true the value of y is returned, else the value of z is returned.</p> <p>Therefore, we get the largest of three numbers using the ternary operator.</p> <hr></z);>
Operador Ternário
O significado de ternário é composto por três partes. O operador ternário (? :) consiste em três operandos. É usado para avaliar expressões booleanas. O operador decide qual valor será atribuído à variável. É o único operador condicional que aceita três operandos. Pode ser usado no lugar da instrução if-else. Isso torna o código muito mais fácil, legível e mais curto.
Nota: Todo código que usa uma instrução if-else não pode ser substituído por um operador ternário.
Sintaxe:
variable = (condition) ? expression1 : expression2
A declaração acima afirma que se a condição retornar verdadeiro, expressão1 é executado, caso contrário o expressão2 é executado e o resultado final armazenado em uma variável.
Vamos entender o operador ternário através do fluxograma.
TernaryOperatorExample.java
tipo de retorno em java
public class TernaryOperatorExample { public static void main(String args[]) { int x, y; x = 20; y = (x == 1) ? 61: 90; System.out.println('Value of y is: ' + y); y = (x == 20) ? 61: 90; System.out.println('Value of y is: ' + y); } }
Saída
Value of y is: 90 Value of y is: 61
Vejamos outro exemplo que avalia o maior de três números usando o operador ternário.
MaiorNumberExample.java
public class LargestNumberExample { public static void main(String args[]) { int x=69; int y=89; int z=79; int largestNumber= (x > y) ? (x > z ? x : z) : (y > z ? y : z); System.out.println('The largest numbers is: '+largestNumber); } }
Saída
The largest number is: 89
No programa acima, pegamos três variáveis x, y e z com os valores 69, 89 e 79, respectivamente. A expressão (x > y) ? (x > z? x: z): (y > z? y: z) avalia o maior número entre três números e armazena o resultado final na variável largeNumber. Vamos entender a ordem de execução da expressão.
Primeiro, ele verifica a expressão (x > y) . Se retornar verdadeiro a expressão (x > z ? x : z) é executado, caso contrário a expressão (y > z? y: z) é executado.
Quando a expressão (x > z ? x : z) é executado, ele verifica ainda mais a condição x > z . Se a condição retornar verdadeira, o valor de x será retornado, caso contrário, o valor de z será retornado.
Quando a expressão (y > z? y: z) é executado, verifica ainda mais a condição você > z . Se a condição retornar verdadeira, o valor de y será retornado, caso contrário, o valor de z será retornado.
Portanto, obtemos o maior de três números utilizando o operador ternário.