Java valodā, nosacījuma operatori pārbaudiet stāvokli un pieņem lēmumu par vēlamo rezultātu, pamatojoties uz abiem nosacījumiem. Šajā sadaļā mēs apspriedīsim nosacījuma operators Java.
apakšvirknes virkne java
Nosacīto operatoru veidi
Ir trīs nosacījuma veidi operators Java :
- Nosacīti UN
- Nosacīts VAI
- Trīskāršs operators
Operators | Simbols |
---|---|
Nosacīti vai loģiski UN | && |
Nosacīts vai loģisks VAI | || |
Trīskāršs operators | ?: |
Nosacīti UN
Operators tiek lietots starp divām Būla izteiksmēm. To apzīmē ar diviem UN operatoriem (&&). Tas atgriež patiesu tad un tikai tad, ja abas izteiksmes ir patiesas, pretējā gadījumā atgriež false.
Izteiksme1 | Izteiksme2 | Izteiksme1 && Izteiksme2 |
---|---|---|
Taisnība | Nepatiesi | Nepatiesi |
Nepatiesi | Taisnība | Nepatiesi |
Nepatiesi | Nepatiesi | Nepatiesi |
Taisnība | Taisnība | Taisnība |
Nosacīts VAI
Operators tiek lietots starp divām Būla izteiksmēm. To apzīmē ar operatoru divi VAI (||). Tas atgriež patiesu, ja kāda no izteiksmēm ir patiesa, pretējā gadījumā atgriež false.
Izteiksme1 | Izteiksme2 | Izteiksme1 || Izteiksme2 |
---|---|---|
Taisnība | Taisnība | Taisnība |
Taisnība | Nepatiesi | Taisnība |
Nepatiesi | Taisnība | Taisnība |
Nepatiesi | Nepatiesi | Nepatiesi |
Izveidosim Java programmu un izmantosim nosacījumu operatoru.
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);>
Trīskāršs operators
Nozīme trīskāršs sastāv no trim daļām. The trīskāršs operators (? :) sastāv no trim operandiem. To izmanto Būla izteiksmju novērtēšanai. Operators izlemj, kura vērtība tiks piešķirta mainīgajam. Tas ir vienīgais nosacījuma operators, kas pieņem trīs operandus. To var izmantot priekšraksta if-else vietā. Tas padara kodu daudz vienkāršāku, lasāmāku un īsāku.
Piezīme. Katru kodu, kurā tiek izmantots priekšraksts if-else, nevar aizstāt ar trīskāršu operatoru.
Sintakse:
variable = (condition) ? expression1 : expression2
Iepriekš minētajā paziņojumā teikts, ka, ja nosacījums atgriežas patiess, izteiksme1 tiek izpildīts, pretējā gadījumā izteiksme2 tiek izpildīts un gala rezultāts tiek saglabāts mainīgajā.
Izpratīsim trīskāršo operatoru, izmantojot blokshēmu.
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); } }
Izvade
Value of y is: 90 Value of y is: 61
Apskatīsim citu piemēru, kas novērtē lielāko no trim skaitļiem, izmantojot trīskāršo operatoru.
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); } }
Izvade
The largest number is: 89
Iepriekš minētajā programmā mēs esam izmantojuši trīs mainīgos x, y un z, kuru vērtības ir attiecīgi 69, 89 un 79. Izteiciens (x > y) ? (x > z ? x : z) : (y > z ? y : z) novērtē lielāko skaitli starp trim skaitļiem un saglabā gala rezultātu mainīgajā lielākaisNumber. Sapratīsim izteiksmes izpildes secību.
Pirmkārt, tas pārbauda izteiksmi (x > y) . Ja tas atgriež patieso izteiksmi (x > z ? x : z) tiek izpildīts, citādi izteiksme (y > z ? y : z) tiek izpildīts.
Kad izteiksme (x > z ? x : z) tiek izpildīts, tas tālāk pārbauda stāvokli x > z . Ja nosacījums atgriež patieso vērtību, tiek atgriezta x vērtība, pretējā gadījumā tiek atgriezta z vērtība.
Kad izteiksme (y > z ? y : z) tiek izpildīts, tas vēl vairāk pārbauda stāvokli y > z . Ja nosacījums atgriež patieso vērtību, tiek atgriezta y vērtība, pretējā gadījumā tiek atgriezta z vērtība.
Tāpēc mēs iegūstam lielāko no trim skaitļiem, izmantojot trīskāršu operatoru.