Sintaksa:
varijabla = uvjetni izraz ? Izjava 1: Izjava 2Ovdje, ako uvjetni izraz vrati true, tada će izvršiti izraz definiran na lijevoj strani znaka ':', a ako vrati false, izvršit će izraz definiran na desnoj strani ':'.
Primjer-1: Upotreba ternarnog operatora s jednim uvjetom
Sljedeći primjer pokazuje vrlo jednostavnu upotrebu ternarnog operatora koji se može koristiti u zamjeni izraza 'if-else'. Cijela vrijednost će se uzeti kao ulaz, a ternarni operator koristi se za provjeru da li je vrijednost veća ili jednaka 80 ili ne. Ako se trostruko stanje vrati istina, tada će se vratiti ocjena; u suprotnom, izračunat će koliko je ocjena potrebno za dobivanje 80 i povratak u poruka varijabla koja se kasnije ispisuje.
// Uvoz paketa skenerauvoz java.util.Skener;
javna klasa ternarna1
javna statička void glavna (String [] args)
// Stvaranje objekta skenera
Skener u = novi skener (sustav.u);
Sustav.van.print ("Unesite svoje ocjene:");
// Uzmi ocjene od korisnika
int oznake = u.nextInt ();
// Spremimo vrijednost niza na temelju ulazne vrijednosti
Niz poruke = (oznake> = 80) ? "Vaša ocjena je A +": "Trebate" + (80 maraka) +
"dobiti A +";
Sustav.van.println (poruka);
// Zatvorite objekt skenera
u.Zatvoriti();
Izlaz:
Nakon pokretanja koda, 85 se uzima kao ulaz koji je veći od 80. Dakle, vrijednost ocjene je ovdje ispisana.
Kada se 75 uzima kao ulaz, tada se ternarni uvjet vratio kao false i izračunao je koliko je oznaka potrebno za dobivanje A + i ispis.
Primjer-2: Upotreba ternarnog operatora s više uvjeta
Sljedeći primjer prikazuje upotrebu ternarnog operatora s dva uvjeta, a ako se oba uvjeta vrate, tada će se vratiti određeni tekst; u suprotnom, vratit će drugi tekst na val varijabla koja će se ispisati kasnije.
javna klasa ternar2javna statička void glavna (String [] args)
// Dodjeljivanje vrijednosti niza
Naziv niza = "Abrar Fahad";
// Dodijelite numeričku vrijednost
int id = 22;
/ * Pohranite vrijednost niza na temelju
* povratna vrijednost stanja
* /
Niz val = (ime.jednako ("Abrar Fahad") && id == 22) ?
"Odabrani ste": "Niste odabrani";
// Ispis varijable
Sustav.van.println (val);
Izlaz:
U skladu s kodom, ternarno stanje će se vratiti na true, a sljedeći će se izlaz pojaviti nakon izvršavanja koda.
Primjer-3: Upotreba ternarnog operatora za pronalaženje maksimalne vrijednosti
Pronalaženje maksimalne vrijednosti između dva broja pomoću ternarnog operatora prikazano je u sljedećem primjeru. Dvije će se cijele vrijednosti uzeti od korisnika i usporediti u ternarnom stanju kako bi se saznala maksimalna vrijednost. Zatim će se s formatiranim tekstom ispisati maksimalna vrijednost.
// Uvoz paketa skenerauvoz java.util.Skener;
javna klasa ternarna3
javna statička void glavna (String [] args)
// Stvaranje objekta skenera
Skener u = novi skener (sustav.u);
Sustav.van.ispis ("Unesite broj:");
// Uzmi prvi broj
int num1 = u.nextInt ();
Sustav.van.ispis ("Unesite broj:");
// Uzmi drugi broj
int num2 = u.nextInt ();
// Spremiti maksimalnu vrijednost
int max_val = (num1> num2) ? num1: num2;
// Ispis maksimalne vrijednosti
Sustav.van.println ("Maksimalni broj je:" + max_val);
// Zatvorite objekt skenera
u.Zatvoriti();
Izlaz:
23 i 79 uzimaju se kao ulaz nakon izvršavanja koda i ispisuje se maksimalna vrijednost.
Primjer-4: Upotreba ugniježđenog ternarnog operatora
Ugniježđeni ternarni operator može se koristiti kao alternativa 'ako-inače-ako' izjava. Korištenje ugniježđenog ternarnog operatora prikazano je u sljedećem primjeru. Ovdje će se cijela vrijednost uzeti kao ulaz i pohraniti u oznake varijabilna. Vrijednost oznake će se provjeriti u prvom trostrukom stanju, a ako se vrati kao lažno, tada će se provjeriti u drugom trostrukom stanju i tako dalje. Ako se svi ternarni uvjeti vrate netačnim, vratit će se posljednji tekst ternarne izjave. The razred varijabla koristi se za pohranu povratne vrijednosti ternarnog izraza koji će se kasnije ispisati kao izlaz.
// Uvoz paketa skenerauvoz java.util.Skener;
javna klasa ternarna4
javna statička void glavna (String [] args)
// Stvaranje objekta skenera
Skener u = novi skener (sustav.u);
Sustav.van.print ("Unesite svoje ocjene:");
// Uzmi ocjene od korisnika
int oznake = u.nextInt ();
// Spremimo vrijednost niza na temelju ulazne vrijednosti
Niz ocjena = (ocjene> = 90) ? "Vaša ocjena je A +":
(ocjene> = 80) ? "Vaša ocjena je B +":
(ocjene> = 70) ? "Vaša ocjena je C +":
(ocjene> = 75) ? "Vaša ocjena je D": "Nisi uspio";
Sustav.van.println (ocjena);
// Zatvorite objekt skenera
u.Zatvoriti();
Izlaz:
76 uzima se kao ulaz nakon pokretanja koda, a treći uvjet ternarnog operatora postao je istinit na temelju ulazne vrijednosti i ispisuje se odgovarajući tekst.
Dalje se 60 uzima kao ulaz i svi ternarni uvjeti vraćaju se kao lažni. Dakle, ispisan je zadnji tekst ternarnog izraza.
Zaključak:
Korištenje ternarnog operatora umjesto "if-else" i "if-else-if" čini kôd kratkim i učinkovitim u mnogim slučajevima. Dakle, bolje je koristiti ga za rješavanje jednostavnih problema. Različite upotrebe ternarnog izraza objašnjene su u ovom vodiču pomoću jednostavnih primjera. Nadam se da će se pojam ternarnog operatora i kako se to može koristiti u Java kodu razjasniti nakon čitanja ovog vodiča.