大部分的运算符都是需要两个操作数来完成运算。比如前面提到的算术运算符,布尔运算符等,递增递减运算符则只需要一个操作数即可。根据运算符完成运算需要的操作数个数,将该运算符归为*元运算符,*记为运算操作数个数。也有称之为”目“的。
这里要说的是三元运算符,即该运算符完成运算需要3个操作数。这在Java运算符中仅此一例,所以它没有自己独有的名字,而是直接叫做三元运算符。
三元运算符“?:”,注意在这个运算符中,有2个符号组成。这个运算符的用法如下:
condition?a:b
它的意思是,如果条件condition(布尔表达式)为true,则表达式的值为a,否则,表达式的值为b。我们来看一个简单的例子:
x>y?x:y
上面的表达式将返回x、y两个操作数中比较大的一个。比如,如果x等于5,y等于9,则x>y为false,那么,表达式的值为y;而如果x等于8,y等于4,则x>y为true,那么表达式的值为x。
在之后学习过Java分支控制语句之后,就会明白,它是直接等价于简单的逻辑判断赋值分支语句的。可以看做是等价的简化版本。