Java入门程序,初学者易出错的代码

早上上掏你屋看到一个java入门的小知识点,是一个有关三目运算符的问题。代码如下:

int a = 5;
System.out.println("value is -"+((a<5)?9.9:9));	


这样输出的结果是什么呢?我想很多人都会误认为是 value is -9 ,可是结果是 value is -9.0 原因是:在三目运算中:1.如果两个操作数类型不同,并且第二个数不是char,short,byte类型,默认将结果取两个操作数隐式转换为提升之后的值,这里是把int类型隐式转换为了double。这是三目运算符的一个特性。

你可能感兴趣的:(java,byte)