三元运算符的注意点

三元运算符的注意点

三元运算符:

(条件表达式)? 表达式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,另一个是其他,按照自动类型转换规则处理成一致的类型;
 */

版权声明:本文为weixin_55961892原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。