Operatorzy stanowią podstawowy element składowy każdego języka programowania. Java udostępnia wiele typów operatorów, których można używać w zależności od potrzeb wykonywania różnych obliczeń i funkcji, czy to logicznych, arytmetycznych, relacyjnych itp. Są one klasyfikowane na podstawie zapewnianej przez nie funkcjonalności. Oto kilka typów:
- Operatory arytmetyczne
- Operatory jednoargumentowe
- Operator przypisania
- Operatorzy relacyjni
- Operatory logiczne
- Operator trójskładnikowy
- Operatory bitowe
- Operatorzy zmian
W tym artykule wyjaśniono wszystko, co trzeba wiedzieć na temat operatorów trójskładnikowych.
Operator trójskładnikowy w Javie
Operator trójskładnikowy Java jest jedynym operatorem warunkowym, który przyjmuje trzy operandy. Jest to jednowierszowy zamiennik instrukcji if-then-else i jest często używany w programowaniu w języku Java. Możemy używać operatora trójskładnikowego zamiast warunków if-else lub nawet przełączać warunki za pomocą zagnieżdżonych operatorów trójskładnikowych. Chociaż działa według tego samego algorytmu, co w przypadku instrukcji if-else, operator warunkowy zajmuje mniej miejsca i pomaga pisać instrukcje if-else w możliwie najkrótszy sposób.

Składnia:
variable = Expression1 ? Expression2: Expression3>
If działa podobnie jak instrukcja if-else, jak w Wyrażenie2 jest wykonywany, jeśli Wyrażenie 1 jest prawdą, że jest inaczej Wyrażenie 3 jest wykonywany.
if(Expression1) { variable = Expression2; } else { variable = Expression3; }>Przykład:
num1 = 10; num2 = 20; res=(num1>liczba2)? (num1+num2):(num1-num2) Od num1 wykonywana jest druga operacja res = num1-num2 = -10>
Schemat blokowy operacji trójskładnikowej

Przykłady operatorów trójskładnikowych w Javie
Przykład 1:
Poniżej znajduje się implementacja operatora trójskładnikowego:
Jawa // Java program to find largest among two // numbers using ternary operator import java.io.*; class Ternary { public static void main(String[] args) { // variable declaration int n1 = 5, n2 = 10, max; System.out.println('First num: ' + n1); System.out.println('Second num: ' + n2); // Largest among n1 and n2 max = (n1>n2)? n1: n2; // Wypisz największą liczbę System.out.println('Maksimum to = ' + max); } }> Wyjście
First num: 5 Second num: 10 Maximum is = 10>
Złożoność powyższej metody:
Złożoność czasowa: O(1)
Przestrzeń pomocnicza: O(1)
Przykład 2:
Poniżej implementacja powyższej metody:
typy danych JavaJawa
// Java code to illustrate ternary operator import java.io.*; class Ternary { public static void main(String[] args) { // variable declaration int n1 = 5, n2 = 10, res; System.out.println('First num: ' + n1); System.out.println('Second num: ' + n2); // Performing ternary operation res = (n1>n2)? (n1 + n2): (n1 - n2); // Wydrukuj największą liczbę System.out.println('Result = ' + res); } }> Wyjście
First num: 5 Second num: 10 Result = -5>
Złożoność powyższej metody:
Złożoność czasowa: O(1)
Przestrzeń pomocnicza: O(1)
Przykład 3:
Implementacja operatora trójskładnikowego na wartościach logicznych:
Jawa // Java Program for Implementing // Ternary operator on Boolean values // Driver Class public class TernaryOperatorExample { // main function public static void main(String[] args) { boolean condition = true; String result = (condition) ? 'True' : 'False'; System.out.println(result); } }> Wyjście
True>
Wyjaśnienie powyższej metody:
W tym programie zadeklarowano warunek zmiennej logicznej i przypisano mu wartość true. Następnie operator trójskładnikowy służy do określenia wartości ciągu wynikowego. Jeśli warunek jest prawdziwy, wynik będzie miał wartość True, w przeciwnym razie będzie to False. Na koniec wartość wyniku jest drukowana na konsoli.
Zalety operatora trójskładnikowego Java
- Ścisłość : Operator trójskładnikowy umożliwia pisanie prostych instrukcji if-else w znacznie bardziej zwięzły sposób, dzięki czemu kod jest łatwiejszy do odczytania i utrzymania.
- Poprawiona czytelność : Przy prawidłowym użyciu operator trójskładnikowy może uczynić kod bardziej czytelnym, ułatwiając zrozumienie intencji stojącej za kodem.
- Zwiększona wydajność: Ponieważ operator trójskładnikowy ocenia pojedyncze wyrażenie zamiast wykonywać cały blok kodu, może być szybszy niż równoważna instrukcja if-else.
- Uproszczenie zagnieżdżonych instrukcji if-else: Operator trójskładnikowy może uprościć złożoną logikę, zapewniając przejrzysty i zwięzły sposób wykonywania przypisań warunkowych.
- Łatwe do debugowania : Jeśli wystąpi problem z kodem, operator trójskładnikowy może ułatwić identyfikację przyczyny problemu, ponieważ zmniejsza ilość kodu, który należy sprawdzić.
Warto zauważyć, że operator trójskładnikowy nie zastępuje wszystkich instrukcji if-else. W przypadku złożonych warunków lub logiki zwykle lepiej jest użyć instrukcji if-else, aby uniknąć utrudnienia zrozumienia kodu.