(三元操作符的性质)以下JAVA程序的运行结果是什么( )

题目

以下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

发布了72 篇原创文章 · 获赞 81 · 访问量 7439

猜你喜欢

转载自blog.csdn.net/weixin_43332735/article/details/105257995