格式:逻辑值 ? 表达式1 : 表达式2

执行顺序:先执行逻辑值,如果逻辑值为true,则执行表达式1;反之则执行表达式2

a = (a > b)?a:b

如果a>b成立,返回a;

如果a<b不成立,返回b。

 

三元表达式的嵌套:比较三个数的大小

int max = i > j ? (i > k ? i : k) : (j < k ? j : k);

 

三元表达式本身是一个表达式,意味着这个表达式执行完成之后需要有一个结果 --- 这个结果必须能定义对应类型的变量来接住

a > b ? “abc” : true; -> 没有办法定义一个统一类型的结果来存储,这种写法就是错误的

double d = a > b ? 3 : 5.25;

float f = a > b ? ‘a’ : 3.5f;