U ovom ćete članku naučiti koristiti uvjetni ili trokraki operator za promjenu kontrolnog toka programa.
Ternarni uvjetni operator "? :"
kratica je za if-else naredbu.
Sintaksa za ternarni uvjetni operator je:
stanje? vrijednost1: vrijednost2
Kako radi ternarni uvjetni operator?
Evo kako ovo funkcionira
- Ako je uvjet istinit, vraća vrijednost1.
- Ako je uvjet netačan, vraća vrijednost2.
Gornji ekvivalentni kod koji koristi if - else je:
if uvjet (vrijednost1) drugo (vrijednost2)
Zašto koristiti ternarni uvjetni operator?
Možda se pitate zašto bismo trebali koristiti uvjetni operator ako radi isti posao kao if-else naredba. Glavna svrha njegove upotrebe je učiniti kôd kraćim i čitljivijim.
Za jednostavne uvjete možete ga procijeniti u jednom retku s manje koda nego ako je drugačije.
Primjer 1: Jednostavan primjer korištenja ternarnog uvjetnog operatora
print(true && false ? "The condition is true": "The condition is false")
Gornji ekvivalentni kod koji koristi if - else je:
if true && false ( print("The condition is true") ) else ( print("The condition is false") )
Kada pokrenete gornji program, izlaz će biti:
Stanje je lažno
U gore navedenom programu izraz true && false
procjenjuje na false
, stoga izraz vraća niz . Uvjet je netačan i iskaz za ispis daje niz u konzoli.
Ako promijenite izraz dok true || false
naredba vrednuje true
i vraća niz Uvjet je istinit i ispisni izraz daje niz u konzolu.
Stvari za pamćenje
Ternarni uvjetni operator također se može koristiti kao alternativa if-else-if
iskazu.
Korištenjem ternarnog uvjetnog operatora možete zamijeniti više redaka if-else-if
koda jednim retkom.
Međutim, to možda nije dobra ideja.
Primjer 2: Ugniježđeno ako je drugačije koristeći ternarni uvjetni operator
if true && false ( print("Result is (true && false)") ) else if true || false ( print("Result is (true || false)") ) else if false || false ( print("Result is (false || false)") ) else ( print("Default else statement") )
Gornji ekvivalentni kod koji koristi ternarni uvjetni operator je:
print(true && false ? "Result is (true && false)" : true || false ? "Result is (true || false)" : false || false ? "Result is (false || false)" : "The condition is unknown")
Kada pokrenete gornje programe, oba izlaza će biti:
Rezultat je istina
U gornjim programima, iako se iskazi od if-else-if
zamjenjuju jednim retkom uporabom uvjetnog operatora. Izraz koji se koristi u ternarnom uvjetnom operatoru stvarno je teško razumjeti.
Dakle, samo se pridržavajte upotrebe ternarnog uvjetnog operatora kao alternative if-else
samo izjavi.