conditional expression:
expr1 ? expr2 : expr3
首先计算expr1,如果结果为真,则计算expr2,其结果也为条件表达式的值;否则,计算expr3,其结果为条件表达式的值。
如果expr2和expr3的类型不一样,那么按照类型转化的原则转化成一样的类型,此时不论expr1是否为真,条件表达式最终的值都会是类型转化后的值,例如:
(n > 0) ? f : n
f是float类型,n是整型,此时条件表达式的值是float类型。
如果在程序中能利用条件表达式代替if-else,就尽量替换,这会使得程序更紧凑。