Tässä opetusohjelmassa opit ternary-operaattorista ja sen käytöstä Javassa esimerkkien avulla.
Java-ohjelmassa kolminkertaista operaattoria voidaan käyttää korvaamaan if… else -käsky tietyissä tilanteissa. Ennen kuin opit kolmivaiheisesta operaattorista, muista käydä Java if… else -lausekkeessa.
Ternary Operaattori Java
Kolmikertainen operaattori arvioi testin ehdon ja suorittaa koodilohkon ehdon tuloksen perusteella.
Sen syntaksia on:
condition ? expression1 : expression2;
Tässä kunto arvioidaan ja
- jos ehto on
true
, lauseke1 suoritetaan. - Ja jos ehto on
false
, lauseke2 suoritetaan.
Ternäärinen operaattori ottaa kolme operandia (ehto, lauseke1 ja lauseke2). Siksi nimi kolmikantaisen operaattorin .
Esimerkki: Java Ternary Operator
import java.util.Scanner; class Main ( public static void main(String() args) ( // take input from users Scanner input = new Scanner(System.in); System.out.println("Enter your marks: "); double marks = input.nextDouble(); // ternary operator checks if // marks is greater than 40 String result = (marks> 40) ? "pass" : "fail"; System.out.println("You " + result + " the exam."); input.close(); ) )
Lähtö 1
Syötä arvosanasi: 75 Suoritat kokeen.
Oletetaan, että käyttäjä syöttää 75 . Sitten kunto marks> 40
arvioidaan true
. Siksi ensimmäinen lauseke määritetään tulokseen.
Lähtö 2
Anna pisteet: 24 epäonnistut tentissä.
Oletetaan, että käyttäjä syöttää 24 . Sitten kunto marks> 40
arvioidaan false
. Siksi toinen lauseke epäonnistuu osoitetaan tulokseen.
Milloin käyttää Ternary Operatoria?
Java-ohjelmassa kolminkertaista operaattoria voidaan käyttää korvaamaan tietyntyyppiset if… else
lauseet. Esimerkiksi,
Voit korvata tämän koodin
class Main ( public static void main(String() args) ( // create a variable int number = 24; if(number> 0) ( System.out.println("Positive Number"); ) else ( System.out.println("Negative Number"); ) ) )
kanssa
class Main ( public static void main(String() args) ( // create a variable int number = 24; String result = (number> 0) ? "Positive Number" : "Negative Number"; System.out.println(result); ) )
Tuotos
Positiivinen luku
Tässä molemmat ohjelmat antavat saman tuotoksen. Kolmikantaisen operaattorin käyttö tekee koodistamme kuitenkin luettavamman ja puhtaamman.
Huomaa : Sinun tulisi käyttää kolmiportaista operaattoria vain, jos tuloksena oleva käsky on lyhyt.
Sisäkkäiset kolmikantaiset operaattorit
On myös mahdollista käyttää yhtä kolmiportaista operaattoria toisen kolmioperaattorin sisällä. Sitä kutsutaan Java: n sisäkkäiseksi kolmikantaiseksi operaattoriksi.
Tässä on ohjelma, jolla etsitään suurin kolmesta numerosta sisäkkäisen kolminkertaisen operaattorin avulla.
class Main ( public static void main(String() args) ( // create a variable int n1 = 2, n2 = 9, n3 = -11; // nested ternary operator // to find the largest number int largest = (n1>= n2) ? ((n1>= n3) ? n1 : n3) : ((n2>= n3) ? n2 : n3); System.out.println("Largest Number: " + largest); ) )
Tuotos
Suurin numero: 9
Huomaa yllä olevassa esimerkissä kolmikantaisen operaattorin käyttö,
(n1>= n2) ? ((n1>=n3) ? n1 : n3) : ((n2>= n3) ? n2 : n3);
Tässä,
- (n1> = n2) - ensimmäinen testiehto, joka tarkistaa, onko n1 suurempi kuin n2
- (n1> = n3) - toinen testiehto, joka suoritetaan, jos ensimmäinen ehto on
true
- (n2> = n3) - kolmas testiehto, joka suoritetaan, jos ensimmäinen ehto on
false
Huomautus : Sisäkkäisiä kolmikantaisia operaattoreita ei suositella. Tämä johtuu siitä, että se tekee koodistamme monimutkaisemman.