三元打印操作

时间:2017-02-01 14:01:40

标签: java ternary-operator

我经常使用以下if块(没有else / elseif子句;仅用于特定检查)

if(value==10){system.out.print("true");}

所以我尝试将它与三元组一起使用:

(a==1)?System.out.println("true");

但它不起作用。主要是,我想知道三元运算符可以像单个运算符一样吗? (虽然我没有考虑过它,但是它可以像if-else_if-else子句一样工作吗?)

4 个答案:

答案 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");