0Pricing
Java Academy · Lekcja

Operator trójargumentowy

condition ? a : b

Operator trójargumentowy to bezpłatna lekcja Java Academy na CoddyKit. To lekcja 1 z 4. Możesz przeczytać całą lekcję poniżej za darmo — a potem ćwiczyć ją interaktywnie w przeglądarce z wbudowanym edytorem kodu i tutorem AI dostępnym 24/7. To część ścieżki edukacyjnej Java Academy, a Twój postęp synchronizuje się między webem a aplikacją CoddyKit. Kurs Java Academy zawiera 4 lekcji w sumie.

Czym jest operator trójargumentowy

Operator trójargumentowy jest jedynym operatorem w Javie, który przyjmuje trzy operandy. Umożliwia zwięzły wybór jednej z dwóch wartości na podstawie warunku.

Jego składnia ma postać: condition ? valueIfTrue : valueIfFalse.

Operator ten zwraca wartość, więc można ją przypisać lub przekazać bezpośrednio.

int age = 20;
String status = age >= 18 ? "adult" : "minor";

Trzy części

Pierwszą częścią jest logiczny warunek. Znak ? oddziela go od wyników.

Jeśli warunek jest prawdziwy, wyrażenie przyjmuje wartość części przed :. Jeśli jest fałszywy, przyjmuje wartość części za :.

W rzeczywistości obliczana jest tylko jedna z dwóch gałęzi.

int score = 45;
String result = score >= 50 ? "pass" : "fail";

Pełny działający przykład

Oto kompletny program, który wyświetla etykietę na podstawie liczby.

Warunek n % 2 == 0 decyduje, czy zostanie użyta wartość "even", czy "odd".

public class Main {
    public static void main(String[] args) {
        int n = 7;
        String parity = n % 2 == 0 ? "even" : "odd";
        System.out.println(parity);
    }
}

To jest wyrażenie

W przeciwieństwie do instrukcji if operator trójargumentowy jest wyrażeniem, czyli ma wartość.

Oznacza to, że można go używać wewnątrz wywołań metod, instrukcji return i przypisań, tam gdzie instrukcja nie pasowałaby składniowo.

public class Main {
    public static void main(String[] args) {
        int a = 9, b = 4;
        System.out.println("Max is " + (a > b ? a : b));
    }
}

Wybieranie liczb

Obie gałęzie nie muszą zwracać napisów. W tym przykładzie operator trójargumentowy wybiera większą z dwóch wartości typu int.

Wynikiem jest wartość typu int, którą można zapisać i ponownie wykorzystać.

public class Main {
    public static void main(String[] args) {
        int x = 12, y = 30;
        int max = x > y ? x : y;
        System.out.println(max);
    }
}

Obie gałęzie muszą mieć zgodne typy

Java musi znać typ całego wyrażenia, dlatego typy obu gałęzi muszą być zgodne.

Jeśli jedna gałąź ma typ int, a druga String, kod się nie skompiluje.

Obie strony powinny zwracać wartości tego samego rodzaju.

boolean ok = true;
// valid: both ints
int code = ok ? 200 : 404;
// invalid: int vs String would not compile

Zwracanie z metody

Operator trójargumentowy świetnie sprawdza się wewnątrz instrukcji return, zastępując czterowierszową instrukcję if/else jednym wierszem.

Poniższa metoda zwraca wartość bezwzględną liczby.

public class Main {
    static int abs(int n) {
        return n < 0 ? -n : n;
    }
    public static void main(String[] args) {
        System.out.println(abs(-8));
    }
}

Użycie w danych wyjściowych

Operator trójargumentowy można umieścić bezpośrednio w wywołaniu funkcji wyświetlającej.

Podczas konkatenacji należy ująć go w nawiasy, aby znaki ? i : zostały zgrupowane przed połączeniem tekstu za pomocą +.

public class Main {
    public static void main(String[] args) {
        int items = 0;
        System.out.println("Cart: " + (items == 0 ? "empty" : "has items"));
    }
}

Wybieranie powitania

Częstym zastosowaniem jest wybór jednego z dwóch komunikatów.

Warunek sprawdza flagę logiczną, a operator trójargumentowy wybiera odpowiedni tekst powitania.

public class Main {
    public static void main(String[] args) {
        boolean morning = true;
        String greet = morning ? "Good morning" : "Hello";
        System.out.println(greet);
    }
}

Priorytet operatorów

Operator trójargumentowy ma bardzo niski priorytet, dlatego działania arytmetyczne i porównania znajdujące się w jego obrębie są wykonywane wcześniej.

W wyrażeniu a + b > 10 ? "big" : "small" Java oblicza a + b, porównuje wynik, a następnie wybiera gałąź.

Podczas łączenia napisów za pomocą + należy dodawać nawiasy.

int a = 6, b = 7;
String size = a + b > 10 ? "big" : "small";

Przypisywanie na podstawie danych wejściowych

Operator trójargumentowy świetnie nadaje się do zainicjalizowania zmiennej w jednym kroku.

W tym przykładzie opłata jest ustawiana na zero dla członków, a w przeciwnym razie na stałą kwotę.

public class Main {
    public static void main(String[] args) {
        boolean isMember = false;
        double fee = isMember ? 0.0 : 9.99;
        System.out.println(fee);
    }
}

Szybki test

Sprawdź swoją znajomość składni operatora trójargumentowego.

Podsumowanie

Operator trójargumentowy condition ? a : b jest zwięzłym, trzyczęściowym warunkowym wyrażeniem w Javie.

Zwraca wartość, oblicza tylko jedną gałąź i wymaga zgodnych typów po obu stronach.

Należy używać go do przypisywania, zwracania lub wyświetlania jednej z dwóch wartości w przejrzysty sposób.

Często zadawane pytania

Czy lekcja „Operator trójargumentowy” jest bezpłatna?

Tak — pełny tekst „Operator trójargumentowy” jest dostępny za darmo tutaj w sieci. Aby ćwiczyć ją interaktywnie (wbudowany edytor kodu i tutor AI dostępny 24/7) i odblokować resztę kursu Java Academy, przejdź na CoddyKit PRO. Kurs Java Academy zawiera 4 lekcji w sumie.

Co nauczysz się w „Operator trójargumentowy”?

condition ? a : b Ćwiczysz Java Academy z praktycznym kodem, który uruchamiasz bezpośrednio w przeglądarce, a tutor AI dostępny 24/7 odpowiada na Twoje pytania podczas pracy nad lekcją.

Czy potrzebuję doświadczenia, aby zacząć Java Academy?

Nie wymagamy żadnego doświadczenia. Java Academy w CoddyKit jest strukturyzowany dla początkujących i zaawansowanych użytkowników, więc możesz zacząć tutaj lub od początku i uczyć się w swoim tempie. To lekcja 1 z 4.

Ile czasu zajmuje lekcja „Operator trójargumentowy”?

Większość lekcji CoddyKit trwa około 5–10 minut. Każda lekcja to mały, interaktywny krok, dzięki czemu robisz systematyczne postępy i zawsze wracasz dokładnie do tego samego miejsca — na webie i w aplikacji.

Czy mogę pisać i uruchamiać kod w tej lekcji Java Academy?

Tak. Każda lekcja Java Academy zawiera wbudowany edytor kodu, więc piszesz i uruchamiasz prawdziwy kod bezpośrednio w przeglądarce i od razu otrzymujesz sprzężenie zwrotne od AI — bez konfiguracji na komputerze.

Wszystkie lekcje w tym kursie

  1. Operator trójargumentowy
  2. Zagnieżdżanie operatorów trójargumentowych
  3. Operator trójargumentowy a if/else
  4. Pułapki związane z czytelnością
← Powrót do Java Academy