Ternäärinen Operaattori
Kuinka voimme lyhentää if-else-lauseen?
if
-lause ei aina näytä tyylikkäältä, mutta Java tarjoaa nopeamman ja kätevämmän tavan tarkistaa ehtoja. Tätä kutsutaan ternääriseksi operaattoriksi, ja sen syntaksi on seuraava:
condition ? expression_for_true : expression_for_false
Ensin asetetaan ehto, esimerkiksi 10 > 5
, ja sen jälkeen lisätään kysymysmerkki ?
. Jos ehto arvioituu true
, siirrytään tosi-lohkoon, esimerkiksi System.out.println("That's true");
. Jos ehto arvioituu false
, siirrytään epätosi-lohkoon, jossa voi olla esimerkiksi System.out.println("That's not true");
.
Tarkastellaan käytännöllisempää esimerkkiä:
Main.java
12345678package com.example; public class Main { public static void main(String[] args) { System.out.println(10 > 5 ? "That's true" : "That's false"); System.out.println(5 > 6 ? "That's true" : "That's false"); } }
Olet ehkä huomannut, että käytimme ternäärioperaattoria System.out.println();
-lauseessa. Tämä on ternäärioperaattorin päätarkoitus – sitä voidaan käyttää tulostuslauseissa koodin määrän vähentämiseksi merkittävästi.
Ternäärioperaattoria voidaan käyttää myös arvojen alustamiseen tai palauttamiseen. Opit lisää arvojen palauttamisesta seuraavassa osiossa, kun käsittelet metodeja.
Esimerkki ternäärioperaattorin käytöstä arvon alustamisessa:
Main.java
12345678910package com.example; public class Main { public static void main(String[] args) { final int a = 10 > 2 ? 5 : 2; final int b = 10 < 2 ? 5 : 2; System.out.println("Variable 'a' has value: " + a); System.out.println("Variable 'b' has value: " + b); } }
Alla on esimerkkikoodi, jossa ternäärioperaattori on korvattu tavallisella if
-lauseella, jotta ymmärrät paremmin sen toimintaa:
Main.java
1234567891011121314151617181920package com.example; public class Main { public static void main(String[] args) { int a = 0; int b = 0; if (10 > 2) { a = 5; } else { a = 2; } if (10 < 2) { b = 5; } else { b = 2; } System.out.println("Variable 'a' has value: " + a); System.out.println("Variable 'b' has value: " + b); } }
Tulos on sama, mutta näet kuinka paljon tilaa säästämme käyttämällä ternääristä operaattoria.
Swipe to start coding
-
Kirjoita koodi, joka tulostaa
"The string contains Florida"
, jos merkkijono sisältää sanan Florida, tai"Florida is not found"
, jos se ei sisällä. -
Harjoittele ehdollisen (ternäärisen) operaattorin käyttöä.
Ratkaisu
solution.java
Kiitos palautteestasi!
single
Kysy tekoälyä
Kysy tekoälyä
Kysy mitä tahansa tai kokeile jotakin ehdotetuista kysymyksistä aloittaaksesi keskustelumme
Awesome!
Completion rate improved to 2.63
Ternäärinen Operaattori
Pyyhkäise näyttääksesi valikon
Kuinka voimme lyhentää if-else-lauseen?
if
-lause ei aina näytä tyylikkäältä, mutta Java tarjoaa nopeamman ja kätevämmän tavan tarkistaa ehtoja. Tätä kutsutaan ternääriseksi operaattoriksi, ja sen syntaksi on seuraava:
condition ? expression_for_true : expression_for_false
Ensin asetetaan ehto, esimerkiksi 10 > 5
, ja sen jälkeen lisätään kysymysmerkki ?
. Jos ehto arvioituu true
, siirrytään tosi-lohkoon, esimerkiksi System.out.println("That's true");
. Jos ehto arvioituu false
, siirrytään epätosi-lohkoon, jossa voi olla esimerkiksi System.out.println("That's not true");
.
Tarkastellaan käytännöllisempää esimerkkiä:
Main.java
12345678package com.example; public class Main { public static void main(String[] args) { System.out.println(10 > 5 ? "That's true" : "That's false"); System.out.println(5 > 6 ? "That's true" : "That's false"); } }
Olet ehkä huomannut, että käytimme ternäärioperaattoria System.out.println();
-lauseessa. Tämä on ternäärioperaattorin päätarkoitus – sitä voidaan käyttää tulostuslauseissa koodin määrän vähentämiseksi merkittävästi.
Ternäärioperaattoria voidaan käyttää myös arvojen alustamiseen tai palauttamiseen. Opit lisää arvojen palauttamisesta seuraavassa osiossa, kun käsittelet metodeja.
Esimerkki ternäärioperaattorin käytöstä arvon alustamisessa:
Main.java
12345678910package com.example; public class Main { public static void main(String[] args) { final int a = 10 > 2 ? 5 : 2; final int b = 10 < 2 ? 5 : 2; System.out.println("Variable 'a' has value: " + a); System.out.println("Variable 'b' has value: " + b); } }
Alla on esimerkkikoodi, jossa ternäärioperaattori on korvattu tavallisella if
-lauseella, jotta ymmärrät paremmin sen toimintaa:
Main.java
1234567891011121314151617181920package com.example; public class Main { public static void main(String[] args) { int a = 0; int b = 0; if (10 > 2) { a = 5; } else { a = 2; } if (10 < 2) { b = 5; } else { b = 2; } System.out.println("Variable 'a' has value: " + a); System.out.println("Variable 'b' has value: " + b); } }
Tulos on sama, mutta näet kuinka paljon tilaa säästämme käyttämällä ternääristä operaattoria.
Swipe to start coding
-
Kirjoita koodi, joka tulostaa
"The string contains Florida"
, jos merkkijono sisältää sanan Florida, tai"Florida is not found"
, jos se ei sisällä. -
Harjoittele ehdollisen (ternäärisen) operaattorin käyttöä.
Ratkaisu
solution.java
Kiitos palautteestasi!
Awesome!
Completion rate improved to 2.63single