我经常使用以下if
块(没有else / elseif子句;仅用于特定检查)
if(value==10){system.out.print("true");}
所以我尝试将它与三元组一起使用:
(a==1)?System.out.println("true");
但它不起作用。主要是,我想知道三元运算符可以像单个运算符一样吗? (虽然我没有考虑过它,但是它可以像if-else_if-else子句一样工作吗?)
答案 0 :(得分:1)
你想要达到的目标是不可能的。但是,如果必须使用三元组,请尝试使用
String a = (value==10) ? "Yes" : "No";
System.out.println(a);
否则你也可以这样做,
System.out.println((value==10)?"Yes":"No");
答案 1 :(得分:1)
三元运算符只是if-else的简写,但它必须返回一些东西。您需要使用格式
something = (x)?(if x==true, return this):(if x==false, return this)
要做你想做的事,请在print语句中加入三元组。即。
System.out.println((a==1)?("true"):(""));
答案 2 :(得分:0)
首先,正如凯文所提到的,三元运算符应该有一个左手赋值变量。
其次它应该总是伴随着一个else操作
以下表达式有效。
String s = a==10 ? "true" : "false";
System.out.println(s);
答案 3 :(得分:0)
添加到上述答案中,如果将字符串聚合到您的表达式中,您可以使用以下代码片段:
System.out.println("any text you want"+ (value == 10)?"value is greater than 10":"value is lower than 10");