Java una línea si no funciona para impresiones [duplicado]

Esta pregunta ya tiene una respuesta aquí:

Java Ternary sin Asignación 4 respuestas

Si escribes algo como:

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

Funciona. Pero si escribes

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

aparece un error "no es una declaración". La forma "correcta" es escribir (el uso de llaves o "estar o no estar en una línea" está fuera del alcance de la pregunta):

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

¿Por qué? La una líneaifs siempre debe devolver un valor?

EDITAR: A todos señalando que

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

no es una sintaxis correcta, sí, obtuve esa parte. No estoy pidiendo soluciones (aunque el

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

es bueno.

@ Andrew Tobilko, ¿dónde está dicho eso?ESE es lo que me interesa.

EDIT2: La respuesta aceptada proporciona exactamente lo que quería. Gracias