W tym artykule dowiesz się, jak używać operatora warunkowego lub trójskładnikowego do zmiany przepływu sterowania w programie.
Trójargumentowy operator warunkowy "? :"
jest skrótem dla instrukcji if-else.
Składnia trójargumentowego operatora warunkowego jest następująca:
stan: schorzenie ? wartość1: wartość2
Jak działa trójskładnikowy operator warunkowy?
Oto jak to działa
- Jeśli warunek jest prawdziwy, zwraca wartość1.
- Jeśli warunek jest fałszywy, zwraca wartość2.
Powyższy równoważny kod używający if - else to:
jeśli warunek (wartość1) else (wartość2)
Dlaczego warto używać trójskładnikowego operatora warunkowego?
Możesz się zastanawiać, dlaczego powinniśmy używać operatora warunkowego, skoro działa on tak samo jak instrukcja if-else. Głównym celem jego używania jest skrócenie i zwiększenie czytelności kodu.
W przypadku prostych warunków możesz ocenić to w jednym wierszu z mniejszą ilością kodu niż if-else.
Przykład 1: Prosty przykład użycia trójskładnikowego operatora warunkowego
print(true && false ? "The condition is true": "The condition is false")
Powyższy równoważny kod używający if - else to:
if true && false ( print("The condition is true") ) else ( print("The condition is false") )
Po uruchomieniu powyższego programu wynik będzie:
Warunek jest fałszywy
W powyższym programie wyrażenie ma true && false
wartość false
, dlatego instrukcja zwraca łańcuch Warunek jest fałszywy, a instrukcja print zwraca łańcuch w konsoli.
Jeśli zmienisz wyrażenie w miarę, jak true || false
instrukcja oblicza true
i zwraca ciąg . Warunek jest prawdziwy, a instrukcja print wyświetla ciąg w konsoli.
Rzeczy do zapamiętania
Alternatywą dla if-else-if
instrukcji może być także potrójny operator warunkowy .
Za pomocą trójskładnikowego operatora warunkowego można zastąpić wiele wierszy if-else-if
kodu jednym wierszem.
Jednak może to nie być dobry pomysł.
Przykład 2: Zagnieżdżone if else przy użyciu trójargumentowego operatora warunkowego
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") )
Powyższy równoważny kod wykorzystujący trójskładnikowy operator warunkowy to:
print(true && false ? "Result is (true && false)" : true || false ? "Result is (true || false)" : false || false ? "Result is (false || false)" : "The condition is unknown")
Po uruchomieniu powyższych programów oba wyniki będą:
Wynik jest prawdziwy
W powyższych programach, mimo że instrukcje of if-else-if
zastępowane są pojedynczym wierszem przy użyciu operatora warunkowego. Wyrażenie użyte w potrójnym operatorze warunkowym jest naprawdę trudne do zrozumienia.
Więc po prostu trzymaj się używania trójskładnikowego operatora warunkowego jako alternatywy if-else
tylko dla instrukcji.