Darmowy kurs Java

Wyrażenie warunkowe (conditional operator)

W dzisiejszym wydaniu serii JavaTraps zajmiemy się conditional operatorem (inaczej ternary operator, operator trójargumentowy, lub wyrażenie warunkowe). Przypomnijmy jego składnię:

(condition or expression)? operand1 : operand2;

// co jest równoważne z:
if (condition)
    operand1;
else
    operand2;

Tyle wstępem przypomnienia, a teraz przejdźmy do dzisiejszej zagadki. Pochodzi ona z serii Java Puzzlers, która zainspirowała mnie wczoraj. Pytanie brzmi oczywiście, co wyświetli się na ekranie?

import java.util.Random;

public class JavaTraps002 {
	public static void main(String args[]) {
		Random rand = new Random();
		boolean check = rand.nextBoolean();

		Number number = (check || !check)?
				new Integer(1) : new Double(2.0);

		System.out.println("Wynik: "+number);
	}
}

Kurs Programowania Java

Jak widać przykład nie jest strasznie skomplikowany, dostępne odpowiedzi to:

A) Wynik: 1

B) Wynik: 2.0

C) Błąd kompilacji

D) Inna odpowiedź

Sprawdź odpowiedź

Zapisz się do newslettera

Otrzymuj nasz Newsletter z przykładowymi pytaniami rekrutacyjnymi, wyzwaniami programistycznymi i nowościami ze świata Javy, a także informacje o nowych kursach i promocjach.

Traktujemy Twoją prywatność poważnie. Nikomu nie udostępniamy Twojego maila no i zawsze możesz się wypisać.

Komentarze do artykułu

Wyłączyliśmy możliwość dodawania komentarzy. Poniżej znajdziesz archiwalne wpisy z czasów gdy strona była jeszcze hobbystycznym blogiem. Zapraszamy natomiast do zadawnia pytań i dyskusji na naszej grupe na facebooku.

Szkolenie Java Wrocław