JAVA条件语句两个表达式之间应该用什么括号?

public class d3 {
private int shuchu(int x)
{
(a>=90)?{System.out.println("a");return 0;}:
{(a>=60)?{System.out.println("b");return 0;}
:{System.out.println("c");return 0;}}
}
}

编译错误。
也就是说 条件?{代码a}:{代码b}
这样不行。
把{}改成()也不行,真是醉了。
求如何执行才可以。

第1个回答  2014-10-22
三元运算符你必须要接收它的结果。如:
2 > 3 ? 2 : 3 ; 这段代码编译是不能通过的。你必须用一个int型接收:
int i = 2 > 3 ? 2 : 3 ;
你看看你的代码能够用哪种类型接收呢?都不行吧。三元运算符“?”后面都只能一个是具体的返回值的表达式,两个是不行的,因为此时编译器是不能判断将哪个表达式的结果返回(即使你其中的多个表达式没返回值,因为编译器第一步判断的是你的语法结果是否正确)
第2个回答  2014-10-22
那个 骚年,我真没见过这么用三目运算符的。。。或许是我孤陋寡闻了
冒号两边我只见过非常简单的运算 而没见过代码块
你完全可以用 if else 来解决,即便这种方式能用,看起来很酷,但是别人看起来也很累 不利于阅读
第3个回答  2014-10-22
3元运算符,后面不需要 {},而且不支持操作,只支持返回值。
所以老老实实用if吧。
第4个回答  2014-10-22
请参考:
private int shuchu(int x){
x = (x>=90) ? 0: 90;
return x;
}
第5个回答  2014-10-22
你是要写三元表达式吧,三元表达式后面只能写一句话。
a>=90?a:b
相似回答