V tomto článku sa naučíte používať podmienený alebo ternárny operátor na zmenu toku riadenia programu.
Ternárny podmienený operátor "? :"
je skratkou pre príkaz if-else.
Syntax pre ternárny podmienený operátor je:
stav? hodnota1: hodnota2
Ako funguje ternárny podmienený operátor?
Takto to funguje
- Ak je podmienka pravdivá, vráti hodnotu1.
- Ak je podmienka nepravdivá, vráti hodnotu2.
Vyššie uvedený ekvivalentný kód s použitím if - else je:
ak podmienka (hodnota1) else (hodnota2)
Prečo používať ternárneho podmieneného operátora?
Možno sa pýtate, prečo by sme mali používať podmienený operátor, ak vykonáva rovnakú prácu ako príkaz if-else. Hlavným účelom jeho použitia je dosiahnuť, aby bol kód kratší a čitateľnejší.
Pre jednoduché podmienky to môžete vyhodnotiť v jednom riadku s menším počtom kódu, ako keby-inak.
Príklad 1: Jednoduchý príklad využívajúci ternárny podmienený operátor
print(true && false ? "The condition is true": "The condition is false")
Vyššie uvedený ekvivalentný kód s použitím if - else je:
if true && false ( print("The condition is true") ) else ( print("The condition is false") )
Keď spustíte vyššie uvedený program, výstup bude:
Podmienka je nepravdivá
Vo vyššie uvedenom programe sa výraz true && false
vyhodnotí na false
, preto príkaz vráti reťazec Podmienka je nepravdivá a príkaz print vydá reťazec v konzole.
Ak zmeníte výraz, keď true || false
sa príkaz vyhodnotí true
a vráti reťazec Podmienka je pravdivá a príkaz print vypíše reťazec v konzole.
Na čo treba pamätať
Ako alternatívu if-else-if
príkazu je možné použiť aj ternárny podmienený operátor .
Pomocou ternárneho podmieneného operátora môžete nahradiť viac riadkov if-else-if
kódu jedným riadkom.
To však nemusí byť dobrý nápad.
Príklad 2: Vnorené, ak nie, pomocou ternárneho podmieneného operátora
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") )
Vyššie uvedený ekvivalentný kód využívajúci ternárny podmienený operátor je:
print(true && false ? "Result is (true && false)" : true || false ? "Result is (true || false)" : false || false ? "Result is (false || false)" : "The condition is unknown")
Keď spustíte vyššie uvedené programy, oba výstupy budú:
Výsledok je pravdivý
Vo vyššie uvedených programoch, aj keď vyhlásenia o if-else-if
sú nahradené jedným riadkom pomocou podmieneného operátora. Výraz použitý v ternárnom podmienenom operátore je skutočne ťažké pochopiť.
Zostaňte teda iba pri použití ternárneho podmieneného operátora ako alternatívy if-else
tvrdenia.