2.8 关系运算符和逻辑运算符
在术语“关系运算符”(relational operator)和“逻辑运算符”(logical operator)中,“关系”(relational)指的是值之间的关系,“逻辑”(logical)指的是真值与假值之间的关系。由于关系运算符的结果是真值或假值,因此关系运算符常常和逻辑运算符结合使用。所以此处一并讨论它们。
第1章介绍了关系运算符。为了方便,将关系运算符列举如下:
逻辑运算符如下:
关系运算符和逻辑运算符的运算结果是boolean类型的值。
在Java中,可以用==运算符或!=运算符比较任意两个对象是否相等。但是,比较运算符<、>、<=和>=只能用于有顺序关系的类型的比较。所以,所有的关系运算符可以用于数值型和char类型。但是,由于true和false没有顺序,因此boolean类型只能用于比较是否相等。例如,在Java中表达式true>false是没有意义的。
逻辑运算符的操作数必须是boolean类型的,结果也是boolean类型的。逻辑运算符&、|、^和!支持基本的逻辑运算AND、OR、XOR和NOT。运算规则参见真值表。
正如真值表所示,当前仅当有一个操作数为真时,异或操作的结果为真。
下面的程序说明了一些关系运算符和逻辑运算符的使用方法:
程序输出如下所示: