Java三目运算符boolean?x:y中的类型转换

2014-11-24 10:17:09 · 作者: · 浏览: 0

下面的代码是面试宝典上的一道题目:



这段代码的输出是9.0。因为三目运算符中有一个10.9,java会根据运算符的精度类型进行自动类型转换。因此9会变为9.0



而这段代码的输出是


120


x


对于第一行输出,与上个例子相同,x被提升了类型,变为int


而对于第二行,由于10是一个常量。若三目运算符中的两个表达式有一个是常量表达式,另一个是类型T的表达式,且常量表达式可以被T表示,则输出结果是T类型。因此输出是字符x