V Javi, pogojni operatorji preveri pogoj in se na podlagi obeh pogojev odloči za želeni rezultat. V tem razdelku bomo razpravljali o pogojni operator v Javi.
Vrste pogojnega operatorja
Obstajajo tri vrste pogojnika operater v Javi :
- Pogojni IN
- Pogojni ALI
- Ternarni operater
Operater | Simbol |
---|---|
Pogojni ali logični IN | && |
Pogojni ali logični ALI | || |
Ternarni operater | ?: |
Pogojni IN
Operator se uporabi med dvema logičnima izrazoma. Označujemo ga z operatorjema IN (&&). Vrne true, če in samo če sta oba izraza resnična, sicer vrne false.
Izraz1 | Izraz2 | Izraz1 && Izraz2 |
---|---|---|
Prav | False | False |
False | Prav | False |
False | False | False |
Prav | Prav | Prav |
Pogojni ALI
Operator se uporabi med dvema logičnima izrazoma. Označujemo ga z dvema operatorjema ALI (||). Vrne true, če je kateri koli izraz resničen, sicer vrne false.
Izraz1 | Izraz2 | Izraz1 || Izraz2 |
---|---|---|
Prav | Prav | Prav |
Prav | False | Prav |
False | Prav | Prav |
False | False | False |
Ustvarimo program Java in uporabimo pogojni operator.
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);>
Ternarni operater
Pomen trojni je sestavljen iz treh delov. The ternarni operator (? :) je sestavljen iz treh operandov. Uporablja se za ovrednotenje logičnih izrazov. Operater se odloči, katero vrednost bo dodelil spremenljivki. Je edini pogojni operator, ki sprejme tri operande. Uporablja se lahko namesto stavka if-else. Zaradi tega je koda veliko enostavnejša, berljivejša in krajša.
Opomba: Vsake kode, ki uporablja stavek if-else, ni mogoče nadomestiti s ternarnim operatorjem.
Sintaksa:
variable = (condition) ? expression1 : expression2
Zgornja izjava navaja, da če se stanje vrne res, izraz1 se izvrši, sicer izraz2 se izvede in končni rezultat shrani v spremenljivko.
Razumejmo ternarni operator skozi diagram poteka.
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); } }
Izhod
Value of y is: 90 Value of y is: 61
Oglejmo si še en primer, ki ovrednoti največje od treh števil z uporabo ternarnega operaterja.
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); } }
Izhod
The largest number is: 89
V zgornjem programu smo vzeli tri spremenljivke x, y in z z vrednostmi 69, 89 in 79. Izraz (x > y) ? (x > z ? x : z) : (y > z ? y : z) ovrednoti največje število med tremi števili in shrani končni rezultat v spremenljivko največje število. Razumejmo vrstni red izvajanja izraza.
zemljevid reactjs
Najprej preveri izraz (x > y) . Če izraz vrne true (x > z ? x : z) se izvede, sicer izraz (y > z ? y : z) se izvrši.
Ko izraz (x > z ? x : z) se izvrši, dodatno preveri stanje x > z . Če pogoj vrne true, je vrnjena vrednost x, drugače pa vrednost z.
Ko izraz (y > z ? y : z) se izvede, dodatno preveri stanje y > z . Če pogoj vrne true, je vrnjena vrednost y, drugače je vrnjena vrednost z.
Zato dobimo največje od treh števil z uporabo ternarnega operaterja.