如果你写的东西如下:
boolean condition;
(...)
String out = condition ? "true" : "false";
System.out.println(out);
Run Code Online (Sandbox Code Playgroud)
有用.但如果你写
condition ? System.out.println("true") : System.out.println("false");
Run Code Online (Sandbox Code Playgroud)
你得到一个"非声明"的错误."正确"的方式是写(使用大括号或"成为或不成一行"超出了问题的范围):
if (condition)
System.out.println("true");
else
System.out.println("false");
Run Code Online (Sandbox Code Playgroud)
为什么?一行if必须总是返回一个值?
编辑:向大家指出这一点
condition ? System.out.println("true") : System.out.println("false");
Run Code Online (Sandbox Code Playgroud)
是不是一个正确的语法,是的,我得到了那一部分.我不是要求解决方案(尽管如此)
System.out.println(condition ? "true" : "false");
Run Code Online (Sandbox Code Playgroud)
很好
@Andrew Tobilko在哪里说明了什么?THAT是我很感兴趣的内容.
编辑2:接受的答案提供了我想要的.谢谢