У овом чланку ћете научити да користите условни или тернарни оператор за измену контролног тока програма.
Тернарни условни оператор "? :"
је скраћеница за иф-елсе наредбу.
Синтакса за тернарни условни оператор је:
стање ? вредност1: вредност2
Како ради тернарни условни оператор?
Ево како ово функционише
- Ако је услов тачан, враћа вредност1.
- Ако је услов нетачан, враћа вредност2.
Горњи еквивалентни код који користи иф - елсе је:
иф услов (вредност1) друго (вредност2)
Зашто користити тернарни условни оператор?
Можда се питате зашто да користимо условни оператор ако ради исти посао као иф-елсе израз. Главна сврха његове употребе је да се код учини краћим и читљивијим.
За једноставне услове, можете га проценити у једном реду са мање кода него ако је другачије.
Пример 1: Једноставан пример коришћења тернарног условног оператора
print(true && false ? "The condition is true": "The condition is false")
Горњи еквивалентни код који користи иф - елсе је:
if true && false ( print("The condition is true") ) else ( print("The condition is false") )
Када покренете горњи програм, излаз ће бити:
Услов је нетачан
У горе наведеном програму, израз true && false
процењује на false
, стога израз враћа низ . Услов је нетачан и исказ за штампу даје низ у конзоли.
Ако промените израз док true || false
се израз израчунава true
и враћа низ Услов је тачан и исказ за испис даје низ у конзоли.
Ствари које треба памтити
Тернарни условни оператор такође се може користити као алтернатива if-else-if
изјави.
Коришћењем тернарног условног оператора можете заменити више линија if-else-if
кода једном линијом.
Међутим, то можда није добра идеја.
Пример 2: Угњежђено ако је другачије користећи тернарни условни оператор
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") )
Горњи еквивалентни код који користи тернарни условни оператор је:
print(true && false ? "Result is (true && false)" : true || false ? "Result is (true || false)" : false || false ? "Result is (false || false)" : "The condition is unknown")
Када покренете горње програме, оба излаза ће бити:
Резултат је истина
У горе наведеним програмима, иако се искази од if-else-if
замењују једним редом употребом условног оператора. Израз који се користи у тернарном условном оператору је заиста тешко разумети.
Дакле, само се држите употребе тернарног условног оператора као алтернативе if-else
само изразу.