三目运算符
三目运算符只有一个:?:,三目运算符的语法格式如下:
(expression) ? if-true-starement : if-false-statement;
三目运算符的规则是:先对逻辑表达式 expression 求值值,如果逻辑表达式返回true, 则返回第二个操作数的值,如果逻辑表达式返回false,则返回第三个操作数的值,看如下代码。
String str = 5 > 3 ? " 5大于3 " :”5不大于3“
System.out.println(str); //输出”5大于3“
大部分时候,三目运算符都是作为 if else 的精简写法,因此,如果将上面代码换成 if else 的写法,则代码如下:
String str2 = null;
if(5 > 3)
{
str2 = "5大于3";
}
else
{
str2 = "5不大于3";
}
这两种代码写法的效果是完全相同的,三目运算符和 if else 写法的区别在于 :if 后的代码块可以有多个语句,但是三目运算符是不支持多个语句的。
三目运算符可以嵌套,嵌套后的三目运算符可以处理更复杂的情况,如下代码:
int a = 11;
int b = 12;
//三目运算符支持嵌套
System.out.println( a > b ?
"a大于b" : (a<b ? "a小于b" : "a大于b"));