java包含有丰富的运算符。要检测相等性,可以使用两个等号==。例如,
3==7,结果很明显的false。
另外可以使用!=检测不相等。例如3!=7,结果很明显的true。
最后还有经常使用的<(小于)、>(大于)、<=(小于等于)、>=(大于等于)运算符。
java沿用了C++的做法,使用&&表示逻辑“与”运算符,使用||表示逻辑“或”运算符。从!=运算符就可以相到,!感叹号就是逻辑非运算符。&&和||运算符是按照“短路”方式来求值的;如果第一个操作数已经能够确定表达式的值,第二个操作数就不必计算了。如果用&&运算符合并两个表达式,
expression1 && expression2
而且已经计算得到第一个表达式的真值为false,那么结果就不可能是true。因此,第二个表达式就不必计算了。可以利用这一点来避免错误。例如,在下面的表达式中:
x!=0 && 1/x >x+y// no division by 0
如果x = 0,那么第二部分就不会计算了,因此,如果x=0,也就不会计算1/x,除以0的错误也就不会出现了。
类似的,如果第一个表达式为true,expression1||expression2的值就自动为true,而无需计算第二个表达式。
最后一点,java支持三元操作符?:,这个操作符有时很有用,如果条件为true,下面的表达式
condition?expression1:expression2
就为第一个表达式的值,否则计算为第二个表达式的值。例如,
x<y?x:y
会反回x和y中最小的一个。