Java中的关系运算符有六种:小于(),大于等于(>=),等于(= =),不等于(!=)
其中,只有 = = 和!=可以作用于所有基本型别身上,其它四种不可以作用于boolean型别。
特别注意:使用= =和!=比较两个操作数时,两个操作数必须是同一类的数据,这里的分类为:数字(byte,short,int,char,long,float,double)和char;boolean类型;object reference variable共三类,只有同类才可以比较,否则会有编译错误。
关系运算符的结果为boolean(即,结果只能为:true或者false)
对象相等性的测试
关系运算符 = = 和 != 也可以作用于任何对象身上。但是应该注意:他们所比较的只是两个对象引用(object reference)。即,相等或不等只是说两个reference是否指向了同一个object。
而想要知道两个对象的内容是否相等,必须使用equals()函数,任何一个对象都拥有这个函数。
不过应该注意,对于自定义的class,你必须覆写(override)equals()函数,因为equals()函数的默认行为是比较两个对象的reference。但是,庆幸的是Java标准程序库中的大多数class都覆写了equals()函数,所以它们都会比较对象的内容(而非reference)是否相等。
/*关系运算符测试*/
public class RelationTest
{
public static void main(String[] args)
{
boolean x, y, z;
int a = 15;
int b = 2;
double c =15;
x = a > b; //true;
y = a < b; //false;
z = a != b; //true;
System.out.println("x =" + x);
System.out.println("y =" + y);
System.out.println("z =" + z);
}
}
输出结果:
x = true
y = false
z = true