A Giava, operatori condizionali controlla la condizione e decide il risultato desiderato sulla base di entrambe le condizioni. In questa sezione discuteremo di operatore condizionale in Java.
Tipi di operatore condizionale
Esistono tre tipi di condizionale operatore in Java :
- Condizionale AND
- OR condizionale
- Operatore ternario
Operatore | Simbolo |
---|---|
AND condizionale o logico | && |
OR condizionale o logico | || |
Operatore ternario | ?: |
Condizionale AND
L'operatore viene applicato tra due espressioni booleane. È indicato dai due operatori AND (&&). Restituisce vero se e solo se entrambe le espressioni sono vere, altrimenti restituisce falso.
Espressione1 | Espressione2 | Espressione1 && Espressione2 |
---|---|---|
VERO | Falso | Falso |
Falso | VERO | Falso |
Falso | Falso | Falso |
VERO | VERO | VERO |
OR condizionale
L'operatore viene applicato tra due espressioni booleane. È indicato dai due operatori OR (||). Restituisce vero se una qualsiasi delle espressioni è vera, altrimenti restituisce falso.
Espressione1 | Espressione2 | Espressione1 || Espressione2 |
---|---|---|
VERO | VERO | VERO |
VERO | Falso | VERO |
Falso | VERO | VERO |
Falso | Falso | Falso |
Creiamo un programma Java e utilizziamo l'operatore condizionale.
ConditionalOperatorExample.java
protocollo internet smtp
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);>
Operatore ternario
Il significato di ternario è composto da tre parti. IL operatore ternario (? :) è composto da tre operandi. Viene utilizzato per valutare le espressioni booleane. L'operatore decide quale valore verrà assegnato alla variabile. È l'unico operatore condizionale che accetta tre operandi. Può essere utilizzato al posto dell'istruzione if-else. Rende il codice molto più semplice, leggibile e più breve.
Nota: ogni codice che utilizza un'istruzione if-else non può essere sostituito con un operatore ternario.
Sintassi:
generatore di numeri casuali in c
variable = (condition) ? expression1 : expression2
La dichiarazione di cui sopra afferma che se la condizione ritorna vero, espressione1 viene eseguito, altrimenti il espressione2 viene eseguito e il risultato finale viene memorizzato in una variabile.
Comprendiamo l'operatore ternario attraverso il diagramma di flusso.
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); } }
Produzione
Value of y is: 90 Value of y is: 61
Vediamo un altro esempio che valuta il maggiore dei tre numeri utilizzando l'operatore ternario.
NumeropiùgrandeEsempio.java
confronto delle stringhe 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); } }
Produzione
The largest number is: 89
Nel programma sopra abbiamo preso tre variabili x, yez aventi rispettivamente i valori 69, 89 e 79. L'espressione (x > y) ? (x > z ? x : z) : (y > z ? y : z) valuta il numero più grande tra tre numeri e memorizza il risultato finale nella variabile largeNumber. Comprendiamo l'ordine di esecuzione dell'espressione.
Innanzitutto, controlla l'espressione (x > y) . Se restituisce vero l'espressione (x > z? x : z) viene eseguito, altrimenti l'espressione (y > z? y : z) viene giustiziato.
Quando l'espressione (x > z? x : z) viene eseguito, controlla ulteriormente la condizione x > z . Se la condizione restituisce true viene restituito il valore di x, altrimenti viene restituito il valore di z.
Quando l'espressione (y > z? y : z) viene eseguito, controlla ulteriormente la condizione y > z . Se la condizione restituisce true viene restituito il valore di y, altrimenti viene restituito il valore di z.
Pertanto, otteniamo il più grande dei tre numeri utilizzando l'operatore ternario.