Ternäärioperaattori
condition ? a : b.
Ternäärioperaattori on ilmainen Java Academy-oppitunti CoddyKitissä. Tämä on oppitunti 1/4. Voit lukea koko oppitunnin alta ilmaiseksi ja harjoitella sen jälkeen käytännössä selaimessa sisäänrakennetulla koodieditorilla ja ympäri vuorokauden käytettävissä olevan tekoälytuutorin avulla. Oppitunti kuuluu Java Academy-oppimispolkuun, ja edistymisesi synkronoituu verkon ja CoddyKit-sovelluksen välillä. Java Academy-kurssilla on yhteensä 4 oppituntia.
Mikä on ternäärioperaattori?
Ternäärioperaattori on Javan ainoa operaattori, joka ottaa kolme operandia. Se on tiivis tapa valita kahden arvon välillä ehdon perusteella.
Sen muoto on: condition ? valueIfTrue : valueIfFalse.
Se tuottaa arvon, joten voitte sijoittaa sen muuttujaan tai välittää sen suoraan eteenpäin.
int age = 20;
String status = age >= 18 ? "adult" : "minor";Kolme osaa
Ensimmäinen osa on totuusarvoinen ehto. ?-merkki erottaa ehdon tuloksista.
Jos ehto on tosi, lauseke saa arvon ennen :-merkkiä olevasta osasta. Jos ehto on epätosi, se saa arvon :-merkin jälkeisestä osasta.
Vain toinen kahdesta haarasta todella arvioidaan.
int score = 45;
String result = score >= 50 ? "pass" : "fail";Täysi suoritettava esimerkki
Tässä on kokonainen ohjelma, joka tulostaa luvun perusteella määräytyvän tunnisteen.
Ehto n % 2 == 0 ratkaisee, käytetäänkö arvoa "even" vai "odd".
public class Main {
public static void main(String[] args) {
int n = 7;
String parity = n % 2 == 0 ? "even" : "odd";
System.out.println(parity);
}
}Se on lauseke
Toisin kuin if-lause, ternäärioperaattori on lauseke: sillä on arvo.
Sen vuoksi voitte käyttää sitä metodikutsuissa, palautuksissa ja sijoituksissa, joissa lause ei sopisi rakenteeseen.
public class Main {
public static void main(String[] args) {
int a = 9, b = 4;
System.out.println("Max is " + (a > b ? a : b));
}
}Lukujen valitseminen
Molempien haarojen ei tarvitse olla merkkijonoja. Tässä ternäärioperaattori valitsee kahdesta int-luvusta suuremman.
Tuloksena on int, jonka voitte tallentaa ja jota voitte käyttää uudelleen.
public class Main {
public static void main(String[] args) {
int x = 12, y = 30;
int max = x > y ? x : y;
System.out.println(max);
}
}Molemmilla haaroilla on oltava yhteensopivat tyypit
Javan on tunnettava koko lausekkeen tyyppi, joten haarojen tyyppien on oltava yhteensopivat.
Jos toinen haara on int ja toinen String, koodi ei käänny.
Varmistakaa, että molemmat puolet sisältävät samantyyppisen arvon.
boolean ok = true;
// valid: both ints
int code = ok ? 200 : 404;
// invalid: int vs String would not compileMetodista palauttaminen
Ternäärioperaattorit sopivat erinomaisesti return-lauseisiin, joissa ne korvaavat nelirivisen if/else-rakenteen yhdellä rivillä.
Alla oleva metodi palauttaa luvun itseisarvon.
public class Main {
static int abs(int n) {
return n < 0 ? -n : n;
}
public static void main(String[] args) {
System.out.println(abs(-8));
}
}Sen käyttäminen tulostuksessa
Voitte sijoittaa ternäärioperaattorin suoraan tulostuskutsuun.
Ympäröikää se sulkeilla, kun yhdistätte sitä merkkijonoon, jotta ?- ja :-merkit ryhmitellään ennen kuin + yhdistää tekstin.
public class Main {
public static void main(String[] args) {
int items = 0;
System.out.println("Cart: " + (items == 0 ? "empty" : "has items"));
}
}Tervehdyksen valitseminen
Yksi yleinen käyttötapaus on valita kahdesta viestistä.
Ehto tarkistaa totuusarvoisen lipun, ja ternäärioperaattori valitsee sitä vastaavan tervehdystekstin.
public class Main {
public static void main(String[] args) {
boolean morning = true;
String greet = morning ? "Good morning" : "Hello";
System.out.println(greet);
}
}Operaattoreiden suoritusjärjestys
Ternäärioperaattorin prioriteetti on hyvin matala, joten sen sisällä olevat aritmeettiset laskut ja vertailut suoritetaan ensin.
Lausekkeessa a + b > 10 ? "big" : "small" Java laskee ensin a + b-summan, vertaa tulosta ja valitsee sitten haaran.
Lisätkää sulkeet, kun yhdistätte ternäärioperaattorin +-operaattoriin merkkijonojen yhdistämistä varten.
int a = 6, b = 7;
String size = a + b > 10 ? "big" : "small";Sijoittaminen syötteen perusteella
Ternäärioperaattorit sopivat erinomaisesti muuttujan alustamiseen yhdellä kertaa.
Tässä jäsenille asetetaan maksuksi nolla ja muille kiinteä summa.
public class Main {
public static void main(String[] args) {
boolean isMember = false;
double fee = isMember ? 0.0 : 9.99;
System.out.println(fee);
}
}Pikatarkistus
Testatkaa, miten hyvin ymmärrätte ternäärioperaattorin syntaksin.
Kertaus
Ternäärioperaattori condition ? a : b on Javan tiivis, kolmiosainen ehdollinen lauseke.
Se palauttaa arvon, arvioi vain toisen haaran ja edellyttää yhteensopivia tyyppejä molemmilta puolilta.
Käyttäkää sitä yhden kahdesta arvosta siirtämiseen muuttujaan, palauttamiseen tai tulostamiseen selkeästi.
Opi Java tekoälytuutorin avulla — ilmaiseksi
Kirjoita ja suorita oikeaa koodia selaimessa, saa välitöntä apua tekoälytuutorilta ympäri vuorokauden ja jatka siitä, mihin jäit, verkossa tai sovelluksessa.
- Kurssit
- 104
- Oppitunnit
- 374
Usein kysytyt kysymykset
Onko oppitunti ”Ternäärioperaattori” ilmainen?
Kyllä – oppitunnin ”Ternäärioperaattori” koko tekstin voi lukea täällä verkossa ilmaiseksi. Jos haluat harjoitella interaktiivisesti sisäänrakennetulla koodieditorilla ja ympäri vuorokauden käytettävissä olevan tekoälytuutorin avulla sekä avata koko Java Academy-kurssin, päivitä CoddyKit PROhon. Java Academy-kurssilla on yhteensä 4 oppituntia.
Mitä opin oppitunnilla ”Ternäärioperaattori”?
condition ? a : b. Harjoittelet Java Academy-aihetta koodilla, jonka suoritat suoraan selaimessa. Ympäri vuorokauden käytettävissä oleva tekoälytuutori vastaa kysymyksiisi oppitunnin aikana.
Tarvitsenko kokemusta aloittaakseni Java Academy-opiskelun?
Aiempi kokemus ei ole tarpeen. CoddyKitin Java Academy-oppimispolku sopii vasta-alkajista edistyneisiin, joten voit aloittaa tästä tai alusta ja edetä omaan tahtiisi. Tämä on oppitunti 1/4.
Kuinka kauan ”Ternäärioperaattori”-oppitunnin suorittaminen kestää?
Useimmat CoddyKitin oppitunnit kestävät noin 5–10 minuuttia. Jokainen oppitunti on lyhyt ja interaktiivinen, joten edistyt tasaisesti ja voit jatkaa siitä, mihin jäit – sekä verkossa että sovelluksessa.
Voinko kirjoittaa ja suorittaa koodia tällä Java Academy-oppitunnilla?
Kyllä. Jokainen Java Academy-oppitunti sisältää sisäänrakennetun koodieditorin, joten voit kirjoittaa ja suorittaa oikeaa koodia suoraan selaimessa ja saada välitöntä palautetta tekoälyltä – paikallista asennusta ei tarvita.
Kaikki tämän kurssin oppitunnit
- Ternäärioperaattori
- Ternäärioperaattorien ketjuttaminen
- Ternäärioperaattori vai if/else
- Luettavuuden sudenkuopat