什么是三目运算:(布尔表达式 ? 值0:值1;)
Java提供了一个特别的三元运算符(也叫三目运算符)经常用于取代某个类型的if-then-else语句。条件运算符的符号表示为“?:”,使用该运算符时需要三个操作数,因此称其为三目运算符。使用条件运算符的一般语法结构为:
result=expression?statement1:statement3;
其中expression是一个布尔表达式.当expression为真时,执行statement1,否则就执行statement3。此三目运算符要求返回一个结果,因此要实现简单的二分支程序,即可使用该条件运算符。
下是一个使用条件运算符的实例:
int x,y,z;
x=6;
y=2;
z=x>y?x-y:x+y;
在这里要计算z的值,首先要判断x>y表达式的值,如果为true,z的值为x-y;否则z的值为x+y。很明显x>y表达式的结果为true,所以z的值为4。
技巧:可以将条件运算符理解为if-else语句的简化形式,再使用较为简单的表达式的时候,使用该运算符能够简化程序代码,使程序更加易读。
注意:在使用条件运算符时,还应该注意优先级的问题。三目运算和if(){}else{}的 区别是三目运算有返回值。