Operator warunkowy

Operator warunkowy (ang. conditional operator) – konstrukcja języków programowania, w których odróżnia się wyrażenia od instrukcji, będący formą instrukcji warunkowej wyrażoną za pomocą operatora trójargumentowego; bywa ona instrukcją wyrażeniową. Umożliwia ona sprawdzenie warunku na poziomie wyrażenia, co w pewnym stopniu zaciera rozróżnienie między wyrażeniami a instrukcjami, dzięki czemu przy jej rozsądnym używaniu kod źródłowy może zyskać na zwięzłości i prostocie.

Działanie operatora warunkowego w C++

W językach C, C++, Java, C#, Perl, PHP (od wersji 5.3) i Ruby operator ten ma postać:

warunek ? wyrażenie1 : wyrażenie2

W języku Python ma on nieznacznie inną składnię[1]:

wyrażenie1 if warunek else wyrażenie2

naśladującą język naturalny (w tym wypadku język angielski). Działanie operatora polega na sprawdzeniu wartości logicznej wyrażenia warunek i zwrócenie na jej podstawie jednej z wartości: wyrażenie1, gdy jest warunek jest prawdziwy i wyrażenie2, gdy jest warunek jest fałszywy; wartość wyrażenia, które nie zostało zwrócone zwykle nie jest obliczana.

Operator nie występuje we wszystkich językach o wyróżnionej charakterystyce, czego przykładem może być Pascal. Ponadto języki, w których nie wyróżnia się wyrażeń i instrukcji, np. języki funkcjonalne, mogą używać do tego celu zwykłej instrukcji warunkowej nie potrzebując osobnego operatora warunkowego.

Przykłady

Przypisanie

zmienna = warunek ? wyrażenie1 : wyrażenie2;

daje taki sam rezultat, co

if (warunek)
    zmienna = wyrażenie1
else
    zmienna = wyrażenie2;

Zobacz też

  • IIf – funkcja o podobnym działaniu dostępna m.in. w Visual Basic

Przypisy

  1. Python umożliwia stosowanie w wyrażeniach listowych (ang. list comprehension) obok tej konstrukcji podobnej do niej konstrukcji: wyrażenie if warunek, która pełni wtedy jednak rolę zwykłej instrukcji warunkowej.

Media użyte na tej stronie

Operator warunkowy c++.jpg
Autor: Pauliczczi, Licencja: CC BY-SA 4.0
Graficzne przedstawienie działania operatora warunkowego w C++