如果else检查,我想写单行。但我错了。
请帮助
if(x == 1) {
System.out.println("aaa");
}else {
System.out.println("bbb");
}
有没有一种方法可以使上面的代码像下面一样单一。在行下中获取编译错误
x == 1 ? System.out.println("aaa") : System.out.println("bbb");
请帮忙。我想我可能犯了一个愚蠢的错误。
条件三元表达式的第二个和第三个参数必须是表达式,因此它们不能是System.out.println("aaa")
。
相反,这样你就可以写:
System.out.println (x == 1 ? "aaa" : "bbb");
现在有了一个三元条件表达式,它生成一个值("aaa"或"bbb"(,然后将该值传递给System.out.println
。
三元运算符只能与返回值的表达式一起使用。在您的例子中,System.out.println("aaa"(不是表达式,不能使用。
您可以使用:
System.out.println(x == 1 ? "aaa" : "bbb");