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三目运算符的使用(欢聚时代考题)的主要内容,如果未能解决你的问题,请参考以下文章

Java三目运算符

java三目运算符

java三目运算符

java 三目运算符

java三目运算符

java三目运算符