例题如下
public static void main(String[] args) { char x = 'x'; int i = 10; System.out.println(true? x : i); System.out.println(true? 'x' : 10); }
答案是,120,X
原因解析:
* 如果其中有一个是变量,按照自动类型转换规则处理成一致的类型;
* 如果都是常量,如果一个是char,如果另一个是[0~65535]之间的整数按char处理;
* 如果一个是char,另一个是其他,按照自动类型转换规则处理成一致的类型;
比如
true?4:10.0----------->结果为4.0