logo

Uvjetni operator u Javi

U Javi, uvjetni operatori provjeriti uvjet i odlučiti o željenom rezultatu na temelju oba uvjeta. U ovom odjeljku raspravljat ćemo o uvjetni operator u Javi.

Vrste uvjetnih operatora

Postoje tri vrste kondicionala operator u Javi :

  • Uvjetno I
  • Uvjetno ILI
  • Ternarni operator
Operater Simbol
Uvjetno ili logičko I &&
Uvjetni ili logički ILI ||
Ternarni operator ?:

Uvjetno I

Operator se primjenjuje između dva Booleova izraza. Označava se s dva operatora AND (&&). Vraća true ako i samo ako su oba izraza true, inače vraća false.

Expression1 Izraz2 Izraz1 && Izraz2
Pravi lažno lažno
lažno Pravi lažno
lažno lažno lažno
Pravi Pravi Pravi

Uvjetno ILI

Operator se primjenjuje između dva Booleova izraza. Označava se s dva operatora ILI (||). Vraća true ako je bilo koji od izraza true, inače vraća false.

Expression1 Izraz2 Izraz1 || Izraz2
Pravi Pravi Pravi
Pravi lažno Pravi
lažno Pravi Pravi
lažno lažno lažno

Kreirajmo Java program i upotrijebimo uvjetni operator.

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&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);>

Ternarni operator

Značenje trojni sastoji se od tri dijela. The ternarni operator (? :) sastoji se od tri operanda. Koristi se za procjenu Booleovih izraza. Operator odlučuje koja će vrijednost biti dodijeljena varijabli. To je jedini uvjetni operator koji prihvaća tri operanda. Može se koristiti umjesto naredbe if-else. To kod čini mnogo lakšim, čitljivijim i kraćim.

Napomena: Svaki kod koji koristi if-else naredbu ne može se zamijeniti ternarnim operatorom.

Sintaksa:

 variable = (condition) ? expression1 : expression2 

Gornja izjava navodi da ako se stanje vrati true, expression1 se pogubi, inače izraz2 se izvršava i konačni rezultat pohranjuje u varijablu.

Uvjetni operator u Javi

Razmotrimo ternarni operator kroz dijagram toka.

Uvjetni operator u Javi

TernaryOperatorExample.java

markdown podcrtati
 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); } } 

Izlaz

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

Pogledajmo još jedan primjer koji procjenjuje najveći od tri broja pomoću ternarnog operatora.

NajvećiBrojPrimjer.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); } } 

Izlaz

 The largest number is: 89 

U gornjem programu uzeli smo tri varijable x, y i z koje imaju vrijednosti 69, 89, odnosno 79. Izraz (x > y) ? (x > z ? x : z) : (y > z ? y : z) procjenjuje najveći broj među tri broja i pohranjuje konačni rezultat u varijablu najveći broj. Hajdemo razumjeti redoslijed izvršavanja izraza.

Uvjetni operator u Javi

Prvo, provjerava izraz (x > y) . Ako vrati true izraz (x > z ? x : z) se izvršava, inače izraz (y > z ? y : z) se pogubi.

Kada se izraz (x > z ? x : z) se izvršava, dodatno provjerava stanje x > z . Ako uvjet vrati true, vraća se vrijednost x, inače se vraća vrijednost z.

Kada se izraz (y > z ? y : z) se izvršava dalje provjerava stanje y > z . Ako uvjet vrati true, vraća se vrijednost y, inače se vraća vrijednost z.

Stoga, pomoću ternarnog operatora dobivamo najveći od tri broja.