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码
   
 }
}

转载于:https://www.cnblogs.com/chiao/archive/2011/07/18/2109932.html

你可能感兴趣的:(java三元表达式)