码迷,mamicode.com
首页 > 编程语言 > 详细

Java三目运算符的使用(欢聚时代考题)

时间:2020-04-28 09:48:23      阅读:118      评论:0      收藏:0      [点我收藏+]

标签:常量   public   第一个   ati   提升   三目运算   amp   一个   java   

下面程序输出的结果是?
public class ExamSample {
public static void main(String[] args) {
new ExamSample().convert();
}
public void convert() {
int i = 012;
char a = ‘a‘;
System.out.println((i > 11) ? i : a);
System.out.println((i > 11) ? 65 : a);
System.out.println((i > 11) ? 65.0 : a);
}
}

输出结果为:97

                      a

                     97.0

核心思想:

1.若三目运算符中的两个表达式有一个是常量表达式,另一个是类型T的表达式,且常量表达式可以被T表示,则输出结果是T类型。

2.如果都是常量表达式,用向上类型转换

int i=012;012为八进制数,转换成十进制为10

第一个输出:a被提升为int类型,所以输出a的ASCII码为97;

第二个输出:由于65是一个常量表达式。若三目运算符中的两个表达式有一个是常量表达式,另一个是类型T(本题中为char)的表达式,且常量表达式可以被T表示,则输出结果是T类型。因此输出是字符,输出 a;

第三个输出:这时java就会根据运算符的精度进行自动类型的转换,由于前面是65.0,那么后面的a也就跟着变为97.0了

Java三目运算符的使用(欢聚时代考题)

标签:常量   public   第一个   ati   提升   三目运算   amp   一个   java   

原文地址:https://www.cnblogs.com/zwjnb/p/12791629.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!