这两行代码输出什么结果?
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的数据类型
发布时间: 2012-07-05 07:59:18 作者: rapoo
这两行代码输出什么结果?
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的数据类型