结构:(条件表达式)?表达式1:表达式2
*说明:
条件表达式的结果为Boolean类型
根据条件表达式真或假,决定执行表达式1,还是表达式2
如果表达式为true,则执行表达式1
如果表达式为false,则执行表达式2
表达式1和表达式2的类型要求是一样的
表达式可以是数值也可以是字符串
例如: 获取两个整数的较大值
int m = 12;
int n = 5;
int max = (m>n)? m:n;
三元运算符可以嵌套
例如: int m =12;
int n =5;
String maxStr = (m > n)? “m大”:((m==n)?”m和n相等”:”n大”);
凡是可以使用三元运算符的地方,都可以改写为if-else结构。反之,不成立。
if-else更全能
如果程序既可以使用三元运算符,又可以使用if-else结构,那么优先使用三元运算符。
原因:简洁,高效