关系运算符(relational operators )决定值和值之间的关系。例如决定相等不相等以及排列次序。关系运算符如表4-4 所示:
表4-4 关系运算符及其意义
运算符意义
== 等于!= 不等于> 大于< 小于>= 大于等于<= 小于等于
这些关系运算符产生的结果是布尔值。关系运算符经常用在if控制语句和各种循环语句的表达式中。
Java 中的任何类型,包括整数,浮点数,字符,以及布尔型都可用“==”来比较是否相等,用“!=”来测试是否不等。注重Java (就像C和C++ 一样)比较是否相等的运算符是2 个等号,而不是一个(注重:单等号是赋值运算符)。只有数字类型可以使用排序运算符进行比较。也就是,只有整数、浮点数和字符运算数可以用来比较哪个大哪个小。
前面已经说过,关系运算符的结果是布尔(boolean )类型。例如,下面的程序段对变量c的赋值是有效的:
int a = 4;
int b = 1;
boolean c = a < b;
在本例中,a<b (其结果是false)的结果存储在变量c中。假如你有C/C++ 语言知识的背景,请注重下面的几条语句。在C/C++ 中,这些类型的语句是很常见的:
int done;
// ...
if(!done) ... // Valid in C/C++
if(done) ... // but not in Java.
在Java 中,这些语句必须写成下面这样:
if(done == 0)) ... // This is Java-style.
if(done != 0) ...
这样做的原因是Java 定义真和假的方法和C/C++ 中的不一样。在C/C++ 中,真是任何非0的值而假是值0。在Java 中,真值假值是非数字的,它和0或非0联系不到一起。因此,为了测试0值或非0值,你必须明确地用一个或多个关系运算符。