Java三目运算符的使用(欢聚时代考题)
Posted zwjnb
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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三目运算符的使用(欢聚时代考题)的主要内容,如果未能解决你的问题,请参考以下文章