v Javě, podmíněné operátory zkontrolujte podmínku a na základě obou podmínek rozhodne o požadovaném výsledku. V této části budeme diskutovat o podmíněný operátor v Javě.
Typy podmíněných operátorů
Existují tři typy kondicionálu operátor v Javě :
- Podmíněné AND
- Podmíněné NEBO
- Ternární operátor
Operátor | Symbol |
---|---|
Podmíněné nebo logické AND | && |
Podmíněné nebo logické NEBO | || |
Ternární operátor | ?: |
Podmíněné AND
Operátor se aplikuje mezi dva booleovské výrazy. Označuje se dvěma operátory AND (&&). Vrací hodnotu true tehdy a pouze tehdy, jsou-li oba výrazy pravdivé, v opačném případě vrací hodnotu false.
Výraz1 | Výraz2 | Výraz1 && Výraz2 |
---|---|---|
Skutečný | Nepravdivé | Nepravdivé |
Nepravdivé | Skutečný | Nepravdivé |
Nepravdivé | Nepravdivé | Nepravdivé |
Skutečný | Skutečný | Skutečný |
Podmíněné NEBO
Operátor se aplikuje mezi dva booleovské výrazy. Označuje se operátorem dva OR (||). Vrátí hodnotu true, pokud je některý z výrazů pravdivý, v opačném případě vrátí hodnotu false.
Výraz1 | Výraz2 | Výraz1 || Výraz2 |
---|---|---|
Skutečný | Skutečný | Skutečný |
Skutečný | Nepravdivé | Skutečný |
Nepravdivé | Skutečný | Skutečný |
Nepravdivé | Nepravdivé | Nepravdivé |
Vytvořme Java program a použijeme podmíněný 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ární operátor
Význam trojice se skládá ze tří částí. The ternární operátor (? :) se skládá ze tří operandů. Používá se k vyhodnocení booleovských výrazů. O tom, která hodnota bude proměnné přiřazena, rozhoduje operátor. Je to jediný podmíněný operátor, který přijímá tři operandy. Lze jej použít místo příkazu if-else. Díky tomu je kód mnohem jednodušší, čitelnější a kratší.
Poznámka: Každý kód používající příkaz if-else nelze nahradit ternárním operátorem.
Syntax:
variable = (condition) ? expression1 : expression2
Výše uvedené prohlášení říká, že pokud se podmínka vrátí pravda, výraz1 bude popraven, jinak výraz2 se provede a konečný výsledek se uloží do proměnné.
Pojďme pochopit ternární operátor prostřednictvím 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ýstup
Value of y is: 90 Value of y is: 61
Podívejme se na další příklad, který vyhodnocuje největší ze tří čísel pomocí ternárního operátoru.
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ýstup
The largest number is: 89
Ve výše uvedeném programu jsme vzali tři proměnné x, y a z s hodnotami 69, 89 a 79. Výraz (x > y) ? (x > z ? x : z): (y > z ? y : z) vyhodnotí největší číslo ze tří čísel a uloží konečný výsledek do proměnné největší číslo. Pojďme pochopit pořadí provedení výrazu.
Nejprve zkontroluje výraz (x > y) . Pokud vrátí výraz true (x > z ? x : z) je popraven, jinak výraz (y > z ? y: z) je popraven.
Když výraz (x > z ? x : z) se provede, dále kontroluje podmínku x > z . Pokud podmínka vrátí hodnotu true, vrátí se hodnota x, jinak se vrátí hodnota z.
Když výraz (y > z ? y: z) se provede, dále kontroluje podmínku y > z . Pokud podmínka vrátí hodnotu true, vrátí se hodnota y, jinak se vrátí hodnota z.
Proto dostaneme největší ze tří čísel pomocí ternárního operátoru.