題目
以下JAVA程序的運行結果是什麼( )
public static void main(String[] args) {
Object o1 = true ? new Integer(1) : new Double(2.0);
Object o2;
if (true) {
o2 = new Integer(1);
} else {
o2 = new Double(2.0);
}
System.out.print(o1);
System.out.print(" ");
System.out.print(o2);
}
A. 1 1
B. 1.0 1.0
C. 1 1.0
D. 1.0 1
答案
D
解析
三元操作符如果遇到可以轉換爲數字的類型,會做自動類型提升。
比如
Object o1 = (false) ? new Double(1.0) : new Integer(2);
System.out.println(o1);
會打印2.0