日期:2014-05-20  浏览次数:20634 次

这两行代码输出什么结果?
int a = 5;
System.out.println("value is -"+((a<5)?9.9:9));

RT

------解决方案--------------------
value is -9.0,这是三目运算的一个特性,1.如果两个操作数类型不同,第二个数不是char,short,byte类型,默认将结果取两个操作数提升之后的值,这里是把int类型提升到了double。
------解决方案--------------------
value is -9.0,三目运算符实现内部隐式转换,将运算后结果9提升为9.9的数据类型