三元运算符的注意点
三元运算符:
(条件表达式)? 表达式1:表达式2
如上图所示,当条件表达式的内容为true时,执行表达式1的内容,反之,则执行表达式2的内容。
当你遇到如下情况时:
public static void main(String[] args) {
char x = 'x';
int i = 10;
System.out.println(true? x : i);//结果为120
System.out.println(true? 'x' : 10);//结果为x
}
从上述代码中我们可得到两次输出为x和’x’,那为什么结果一个是数字,一个是字符呢?
以上实例可以得出:
/*
* 如果其中有一个是变量,按照自动类型转换规则处理成一致的类型;
* 如果都是常量,如果一个是char,如果另一个是[0~65535]之间的整数按char处理;
* 如果一个是char,另一个是其他,按照自动类型转换规则处理成一致的类型;
*/