Java одна строка, если не работает для печати [дубликата]

На этот вопрос уже есть ответ здесь:

Явская троица без присваивания 4 ответа

Если вы напишите что-то вроде:

    boolean condition;
    (...)
    String out = condition ? "true" : "false";
    System.out.println(out);

Оно работает. Но если вы напишите

    condition ? System.out.println("true") : System.out.println("false");

Вы получаете ошибку «не утверждение». «Правильный» способ - написать (использование скобок или «быть или не быть в одной строке» выходит за рамки вопроса):

    if (condition)
        System.out.println("true");
    else
        System.out.println("false");

Зачем? Одна линияifs всегда должен возвращать значение?

РЕДАКТИРОВАТЬ: Чтобы все указали на то, что

    condition ? System.out.println("true") : System.out.println("false");

не правильный синтаксис, да, я получил эту часть. Я не прошу решения (хотя

    System.out.println(condition ? "true" : "false");

это мило.

@ Андрей Тобилко, где это заявлено?ТОТ это то, что меня интересует

EDIT2: Принятый ответ дает именно то, что я хотел. Спасибо

Ответы на вопрос(2)

Ваш ответ на вопрос