v Jave podmienené operátory skontroluje podmienku a na základe oboch podmienok rozhodne o požadovanom výsledku. V tejto časti budeme diskutovať o podmienený operátor v jazyku Java.
Typy podmienených operátorov
Existujú tri typy kondicionálov operátor v jazyku Java :
nastaviť v jave
- Podmienené AND
- Podmienené ALEBO
- Ternárny operátor
Operátor | Symbol |
---|---|
Podmienené alebo logické AND | && |
Podmienené alebo logické ALEBO | || |
Ternárny operátor | ?: |
Podmienené AND
Operátor sa aplikuje medzi dva booleovské výrazy. Označuje sa dvoma operátormi AND (&&). Vráti hodnotu true vtedy a len vtedy, ak sú oba výrazy pravdivé, iná vráti hodnotu false.
Výraz1 | Výraz2 | Výraz1 && Výraz2 |
---|---|---|
Pravda | Nepravdivé | Nepravdivé |
Nepravdivé | Pravda | Nepravdivé |
Nepravdivé | Nepravdivé | Nepravdivé |
Pravda | Pravda | Pravda |
Podmienené ALEBO
Operátor sa aplikuje medzi dva booleovské výrazy. Označuje sa operátorom dva OR (||). Ak je niektorý z výrazov pravdivý, vráti hodnotu true, inak vráti hodnotu false.
Výraz1 | Výraz2 | Výraz1 || Výraz2 |
---|---|---|
Pravda | Pravda | Pravda |
Pravda | Nepravdivé | Pravda |
Nepravdivé | Pravda | Pravda |
Nepravdivé | Nepravdivé | Nepravdivé |
Vytvorme Java program a použijeme podmienený operátor.
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);>
Ternárny operátor
Význam trojčlenný sa skladá z troch častí. The ternárny operátor (? :) pozostáva z troch operandov. Používa sa na vyhodnotenie booleovských výrazov. Operátor rozhoduje o tom, ktorá hodnota bude premennej priradená. Je to jediný podmienený operátor, ktorý akceptuje tri operandy. Môže sa použiť namiesto príkazu if-else. Vďaka tomu je kód oveľa jednoduchší, čitateľnejší a kratší.
Poznámka: Každý kód používajúci príkaz if-else nemožno nahradiť ternárnym operátorom.
Syntax:
variable = (condition) ? expression1 : expression2
Vyššie uvedené vyhlásenie uvádza, že ak sa podmienka vráti pravda, výraz1 bude popravený, inak výraz2 vykoná sa a konečný výsledok sa uloží do premennej.
Poďme pochopiť ternárny operátor prostredníctvom vývojového diagramu.
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); } }
Výkon
Algoritmus pre binárne vyhľadávanie
Value of y is: 90 Value of y is: 61
Pozrime sa na ďalší príklad, ktorý vyhodnocuje najväčšie z troch čísel pomocou ternárneho operátora.
GreatstNumberExample.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); } }
Výkon
The largest number is: 89
Vo vyššie uvedenom programe sme vzali tri premenné x, y a z s hodnotami 69, 89 a 79. Výraz (x > y) ? (x > z ? x : z): (y > z ? y : z) vyhodnotí najväčšie číslo spomedzi troch čísel a konečný výsledok uloží do premennej najväčšieČíslo. Poďme pochopiť poradie vykonávania výrazu.
Najprv skontroluje výraz (x > y) . Ak vráti hodnotu true, výraz (x > z ? x : z) je popravený, inak výraz (y > z ? y: z) dostane popravu.
Keď výraz (x > z ? x : z) vykoná, ďalej kontroluje stav x > z . Ak podmienka vráti hodnotu true, vráti sa hodnota x, inak sa vráti hodnota z.
Keď výraz (y > z ? y: z) vykoná sa ďalej kontroluje stav y > z . Ak podmienka vráti hodnotu true, vráti sa hodnota y, inak sa vráti hodnota z.
Preto získame najväčšie z troch čísel pomocou ternárneho operátora.