这个问题已经在这里有了答案: > Java Ternary without Assignment 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");
为什么?如果一行必须始终返回一个值?
编辑:大家指出
condition ? System.out.println("true") : System.out.println("false");
是不正确的语法,是的,我明白了.我不是在寻求解决方案(尽管
System.out.println(condition ? "true" : "false");
很好
@安德鲁·托比尔科(Andrew Tobilko)在哪里说?这就是我感兴趣的.
EDIT2:接受的答案正是我想要的.谢谢