java三目运算符boolean?x:y中的类型转换
2012-09-18 00:17
253 查看
下面的代码是面试宝典上的一道题目:
这段代码的输出是9.0。因为三目运算符中有一个10.9,java会根据运算符的精度类型进行自动类型转换。因此9会变为9.0
而这段代码的输出是
120
x
对于第一行输出,与上个例子相同,x被提升了类型,变为int
而对于第二行,由于100是一个常量。若三目运算符中的两个表达式有一个是常量表达式,另一个是类型T的表达式,且常量表达式可以被T表示,则输出结果是T类型。因此输出是字符x
int a=5; System.out.println("a="+((a<5)?10.9:9));
这段代码的输出是9.0。因为三目运算符中有一个10.9,java会根据运算符的精度类型进行自动类型转换。因此9会变为9.0
char x='x'; int i=10; System.out.println(false?i:x); System.out.println(false?100:x);
而这段代码的输出是
120
x
对于第一行输出,与上个例子相同,x被提升了类型,变为int
而对于第二行,由于100是一个常量。若三目运算符中的两个表达式有一个是常量表达式,另一个是类型T的表达式,且常量表达式可以被T表示,则输出结果是T类型。因此输出是字符x
System.out.println(true?100:x);因此这行代码将输出d,也就是100对应的char值
相关文章推荐
- java三目运算符boolean?x:y中的类型转换
- Java三目运算符boolean?condition1:condition2的使用及类型转换
- java string类型转换boolean类型
- java中 string和int boolean类型值true和String String类型值"true"和boolean类型 三种相互转换
- 奇怪的hibernate 的类型转换错误: java.lang.ClassCastException: java.lang.Boolean cannot be cast to java.lang
- java string类型转换boolean类型
- java string类型转换boolean类型
- java 中 string 和 boolean 类型相互转换
- 使用Java反射机制将Map转换为Java对象,支持Boolean、Date类型
- java string类型转换boolean类型
- Java八种基本类型(byte、short、int、long、浮点数、char、boolean、基本类型转换)
- JAVA中int、String的类型转换
- JAVA类型转换
- JAVA类型转换问题
- java int类型转换成String , 不足10位 在前面补0
- 【Java】基本数据类型与封装类、字符串的相互转换
- java 隐式转换 类型转换 字节数 switch
- 关于JAVA中赋值表达式及类型转换
- Java基础——基本类型和包装类、基本类型和字符串之间的转换
- Java中数据类型及其之间的转换(转)