java三元表达式
布尔表达式?a:b
布尔表达式为true结果为a,表达式为false结果为b
java三元表达式有字符强转的功能,会把后面的强转为和前面的类型一样
如果前面是int型 会把后面字符变成对应的ascii码。
如果前面是char型 会把后面数字转换成对应的字符。
条件?a:b;
等同于
if(条件)
{
a;
}else
{
b;
}
eg:
/** 打印出来是
8
a
97
*/
public class A{
public static void main(String[] args) {
char a = 'a';
int b = 8;
System.out.println(false?a:b); //打印b,b是8,所以打印出8
System.out.println(false?a:8); //打印8,但a是char型的,所以打印8的char字 //符,也就是backspace
System.out.println(false?8:a); //打印int型,也就是a
System.out.println(false?b:'a'); //打印a的ASCII码
}
}