În Java, operatori condiţionali verifica starea si decide rezultatul dorit pe baza ambelor conditii. În această secțiune, vom discuta despre operator condițional în Java.
Tipuri de operator condiționat
Există trei tipuri de condițional operator în Java :
- ȘI condiționat
- SAU condiționat
- Operator ternar
Operator | Simbol |
---|---|
ȘI condițional sau logic | && |
SAU condiționat sau logic | || |
Operator ternar | ?: |
ȘI condiționat
Operatorul este aplicat între două expresii booleene. Este notat cu cei doi operatori AND (&&). Returnează adevărat dacă și numai dacă ambele expresii sunt adevărate, altfel returnează false.
Expresia1 | Expresia 2 | Expresia1 && Expresia2 |
---|---|---|
Adevărat | Fals | Fals |
Fals | Adevărat | Fals |
Fals | Fals | Fals |
Adevărat | Adevărat | Adevărat |
SAU condiționat
Operatorul este aplicat între două expresii booleene. Este notat cu doi operatori SAU (||). Returnează adevărat dacă oricare dintre expresii este adevărată, în caz contrar returnează false.
Expresia1 | Expresia 2 | Expresia1 || Expresia 2 |
---|---|---|
Adevărat | Adevărat | Adevărat |
Adevărat | Fals | Adevărat |
Fals | Adevărat | Adevărat |
Fals | Fals | Fals |
Să creăm un program Java și să folosim operatorul condiționat.
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);>
Operator ternar
Înțelesul lui ternar este compus din trei părți. The operator ternar (? :) este format din trei operanzi. Este folosit pentru a evalua expresiile booleene. Operatorul decide ce valoare va fi atribuită variabilei. Este singurul operator condiționat care acceptă trei operanzi. Poate fi folosit în locul instrucțiunii if-else. Face codul mult mai ușor, mai ușor de citit și mai scurt.
testarea software-ului
Notă: Fiecare cod care utilizează o instrucțiune if-else nu poate fi înlocuit cu un operator ternar.
Sintaxă:
variable = (condition) ? expression1 : expression2
Declarația de mai sus afirmă că dacă condiția revine adevărat, expresie1 este executat, altfel expresie2 este executat și rezultatul final stocat într-o variabilă.
Să înțelegem operatorul ternar prin diagramă.
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); } }
Ieșire
Value of y is: 90 Value of y is: 61
Să vedem un alt exemplu care evaluează cel mai mare dintre trei numere folosind operatorul ternar.
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); } }
Ieșire
The largest number is: 89
În programul de mai sus, am luat trei variabile x, y și z având valorile 69, 89 și, respectiv, 79. Expresia (x > y)? (x > z ? x : z) : (y > z ? y : z) evaluează cel mai mare număr dintre trei numere și stochează rezultatul final în variabila cea mai mareNumăr. Să înțelegem ordinea de execuție a expresiei.
În primul rând, verifică expresia (x > y) . Dacă returnează adevărată expresia (x > z ? x : z) este executat, altfel expresia (y > z ? y : z) este executat.
versiuni Android
Când expresia (x > z ? x : z) este executat, verifică în continuare starea x > z . Dacă condiția returnează adevărată, valoarea lui x este returnată, altfel valoarea lui z este returnată.
Când expresia (y > z ? y : z) este executat, verifică în continuare starea y > z . Dacă condiția returnează adevărată, valoarea lui y este returnată, altfel valoarea lui z este returnată.
Prin urmare, obținem cel mai mare dintre trei numere folosind operatorul ternar.