A Java, operadors condicionals comproveu la condició i decideix el resultat desitjat sobre la base d'ambdues condicions. En aquesta secció, parlarem de operador condicional en Java.
Tipus d'operador condicional
Hi ha tres tipus de condicional operador en Java :
- AND condicional
- OR condicional
- Operador Ternari
Operador | Símbol |
---|---|
AND condicional o lògic | && |
OR condicional o lògic | || |
Operador Ternari | ?: |
AND condicional
L'operador s'aplica entre dues expressions booleanes. Es denota amb els dos operadors AND (&&). Retorna vertader si i només si ambdues expressions són certes, en cas contrari retorna fals.
Expressió 1 | Expressió 2 | Expressió1 && Expressió2 |
---|---|---|
És cert | Fals | Fals |
Fals | És cert | Fals |
Fals | Fals | Fals |
És cert | És cert | És cert |
OR condicional
L'operador s'aplica entre dues expressions booleanes. Es denota amb els dos operadors OR (||). Retorna true si alguna de les expressions és vertadera, en cas contrari retorna false.
Expressió 1 | Expressió 2 | Expressió1 || Expressió 2 |
---|---|---|
És cert | És cert | És cert |
És cert | Fals | És cert |
Fals | És cert | És cert |
Fals | Fals | Fals |
Creem un programa Java i utilitzem l'operador condicional.
ConditionalOperatorExample.java
com trobar la mida del monitor
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 Ternari
El significat de ternari està compost per tres parts. El operador ternari (? :) consta de tres operands. S'utilitza per avaluar expressions booleanes. L'operador decideix quin valor s'assignarà a la variable. És l'únic operador condicional que accepta tres operands. Es pot utilitzar en lloc de la declaració if-else. Fa que el codi sigui molt més fàcil, llegible i més curt.
Nota: Tots els codis que utilitzin una instrucció if-else no es poden substituir per un operador ternari.
Sintaxi:
variable = (condition) ? expression1 : expression2
La declaració anterior indica que si la condició torna veritat, expressió 1 s'executa, sinó el expressió 2 s'executa i el resultat final s'emmagatzema en una variable.
Entenem l'operador ternari a través del diagrama de flux.
TernaryOperatorExample.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); } }
Sortida
Value of y is: 90 Value of y is: 61
Vegem un altre exemple que avalua el major de tres nombres utilitzant l'operador ternari.
LargestNumberExample.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); } }
Sortida
The largest number is: 89
En el programa anterior, hem pres tres variables x, y i z amb els valors 69, 89 i 79, respectivament. L'expressió (x > y)? (x > z ? x : z): (y > z ? y : z) avalua el nombre més gran entre tres nombres i emmagatzema el resultat final a la variable majorNumber. Entenem l'ordre d'execució de l'expressió.
Primer, comprova l'expressió (x > y) . Si retorna cert l'expressió (x > z ? x : z) s'executa, sinó l'expressió (y > z ? y : z) s'executa.
Quan l'expressió (x > z ? x : z) s'executa, comprova encara més la condició x > z . Si la condició retorna cert, es retorna el valor de x, en cas contrari es retorna el valor de z.
Quan l'expressió (y > z ? y : z) s'executa, comprova encara més la condició y > z . Si la condició retorna cert, es retorna el valor de y, en cas contrari es retorna el valor de z.
Per tant, obtenim el major de tres nombres utilitzant l'operador ternari.