logo

Ehdollinen operaattori Javassa

Javalla, ehdolliset operaattorit tarkista kunto ja päättää halutun tuloksen molempien ehtojen perusteella. Tässä osiossa keskustelemme ehdollinen operaattori Javassa.

Ehdollisten operaattorien tyypit

Ehdollisia on kolmea tyyppiä operaattori Javassa :

  • Ehdollinen JA
  • Ehdollinen TAI
  • Kolmiosainen operaattori
Operaattori Symboli
Ehdollinen tai looginen JA &&
Ehdollinen tai looginen TAI ||
Kolmiosainen operaattori ?:

Ehdollinen JA

Operaattoria käytetään kahden Boolen lausekkeen välissä. Se on merkitty kahdella JA-operaattorilla (&&). Se palauttaa tosi, jos ja vain jos molemmat lausekkeet ovat tosi, muussa tapauksessa palauttaa epätosi.

Ilmaisu 1 Ilmaisu 2 Lauseke1 && Lauseke2
Totta Väärä Väärä
Väärä Totta Väärä
Väärä Väärä Väärä
Totta Totta Totta

Ehdollinen TAI

Operaattoria käytetään kahden Boolen lausekkeen välissä. Se on merkitty kahdella OR-operaattorilla (||). Se palauttaa tosi, jos jokin lausekkeista on tosi, muu palauttaa epätosi.

Ilmaisu 1 Ilmaisu 2 Lauseke1 || Ilmaisu 2
Totta Totta Totta
Totta Väärä Totta
Väärä Totta Totta
Väärä Väärä Väärä

Tehdään Java-ohjelma ja käytetään ehdollista operaattoria.

ConditionalOperatorExample.java

alleviivaus alas
 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&apos;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(&apos;Value of y is: &apos; + y); y = (x == 20) ? 61: 90; System.out.println(&apos;Value of y is: &apos; + y); } } </pre> <p> <strong>Output</strong> </p> <pre> Value of y is: 90 Value of y is: 61 </pre> <p>Let&apos;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 &gt; y) ? (x &gt; z ? x : z) : (y &gt; z ? y : z); System.out.println(&apos;The largest numbers is: &apos;+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 &gt; y) ? (x &gt; z ? x : z) : (y &gt; z ? y : z)</strong> evaluates the largest number among three numbers and store the final result in the variable largestNumber. Let&apos;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 &gt; y)</strong> . If it returns true the expression <strong>(x &gt; z ? x : z)</strong> gets executed, else the expression <strong>(y &gt; z ? y : z)</strong> gets executed.</p> <p>When the expression <strong>(x &gt; z ? x : z)</strong> gets executed, it further checks the condition <strong>x &gt; 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 &gt; z ? y : z)</strong> gets executed it further checks the condition <strong>y &gt; 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);>

Kolmiosainen operaattori

Tarkoitus kolmiosainen koostuu kolmesta osasta. The kolmiosainen operaattori (? :) koostuu kolmesta operandista. Sitä käytetään Boolen lausekkeiden arvioimiseen. Operaattori päättää, mikä arvo muuttujalle annetaan. Se on ainoa ehdollinen operaattori, joka hyväksyy kolme operandia. Sitä voidaan käyttää if-else-lausekkeen sijaan. Se tekee koodista paljon helpomman, luettavamman ja lyhyemmän.

Huomautus: Jokaista if-else-käskyä käyttävää koodia ei voida korvata kolmiosaisella operaattorilla.

Syntaksi:

 variable = (condition) ? expression1 : expression2 

Yllä oleva lauseke sanoo, että jos ehto palaa tosi, ilmaus1 teloitetaan, muuten ilmaisu2 suoritetaan ja lopputulos tallennetaan muuttujaan.

Ehdollinen operaattori Javassa

Ymmärretään kolmiosainen operaattori vuokaavion kautta.

Ehdollinen operaattori Javassa

TernaryOperatorExample.java

 public class TernaryOperatorExample { public static void main(String args[]) { int x, y; x = 20; y = (x == 1) ? 61: 90; System.out.println(&apos;Value of y is: &apos; + y); y = (x == 20) ? 61: 90; System.out.println(&apos;Value of y is: &apos; + y); } } 

Lähtö

 Value of y is: 90 Value of y is: 61 

Katsotaanpa toinen esimerkki, joka arvioi suurimman kolmesta luvusta käyttämällä kolmiosaista operaattoria.

SuurinNumberExample.java

 public class LargestNumberExample { public static void main(String args[]) { int x=69; int y=89; int z=79; int largestNumber= (x &gt; y) ? (x &gt; z ? x : z) : (y &gt; z ? y : z); System.out.println(&apos;The largest numbers is: &apos;+largestNumber); } } 

Lähtö

 The largest number is: 89 

Yllä olevassa ohjelmassa olemme ottaneet kolme muuttujaa x, y ja z, joiden arvot ovat vastaavasti 69, 89 ja 79. Ilmaisu (x > y) ? (x > z ? x : z) : (y > z ? y : z) arvioi suurimman luvun kolmen luvun joukosta ja tallentaa lopputuloksen muuttujaan suurinNumber. Ymmärretään lausekkeen suoritusjärjestys.

Ehdollinen operaattori Javassa

Ensin se tarkistaa ilmaisun (x > y) . Jos se palauttaa lausekkeen tosi (x > z ? x : z) teloitetaan, muuten ilmaus (y > z ? y : z) teloitetaan.

Kun ilmaisu (x > z ? x : z) suoritetaan, se tarkistaa kunnon edelleen x > z . Jos ehto palauttaa tosi, palautetaan x:n arvo, muuten palautetaan z:n arvo.

Kun ilmaisu (y > z ? y : z) suoritetaan, se tarkistaa kunnon edelleen y > z . Jos ehto palauttaa tosi, palautetaan y:n arvo, muuten palautetaan z:n arvo.

Siksi saamme suurimman kolmesta luvusta käyttämällä kolmiosaista operaattoria.