关系运算符
通过关系运算符计算的结果是一个boolean类型值。对于应用关系运算符的表达式,计算机将来判断运算对象之间的通过关系运算符指定的关系是否成立,若成立则表达式的返回值为true,否则为false。
关系运算符包括>(大于)、<(小于)、>=(大于或等于)、<=(小于或等于)、==(等于)和!=(不等于)。其中等于和不等于运算符适用于引用类型和所有的基本数据类型,而其他的关系运算符只适用于除boolean类型外的所有基本数据类型。
Java中的关系运算符可通过表1表示。
表1 Java中的关系运算符
关系运算符中的“>”、“<”、“>=”、“<=”运算符的应用相对比较简单,这里不再介绍,下面介绍“==”与“!=”运算符。
“==”与“!=”适用于所有的对象,但初学Java语言的读者经常会对“==”的用法感到迷惑,另外无法分清“==”与对象的equals()方法的区别,下面就分别来介绍运算符“==”与equals()方法的比较规则,并进行比较。
1.“==”运算符
l 比较基本数据类型变量
当两个基本数据类型的操作元通过“= =”运算符比较是否相等时,比较的是这两个操作元的值是否相等,若相等结果为true,否则为false,在比较时不考虑操作元的数据类型。
例如:
int i=98;
int j=-98;
float f=98.0f;
System.out.println(i==j); //输出结果为: false
System.out.println(i==f); //输出结果为: true
System.out.println(i=='b'); //输出结果为: true
System.out.println(j==-'b'); //输出结果为: true
l 比较引用类型变量
当两个引用类型的变量通过“==”运算符比较是否相等时,比较的是这两个变量是否引用了同一个对象,若是结果为true,否则为false。
例如:
Integer num1 = new Integer(100); //创建一个Integer对象, 并通过num1变量进行引用
Integer num2 = new Integer(100); //创建另一个Integer对象, 并通过num2变量进行引用
System.out.println((num1==num2); //输出结果为: false
System.out.println(num1!=num2); //输出结果为: true
代码中虽然变量num1与num2引用的Integer对象的值都为100,但它们却是两个不同的对象,所以表达式“num1==num2”进行比较的结果为false。
下面将以上代码进行修改:
Integer num1 = new Integer(100);
Integer num2 = new Integer(200);
num1=num2; //将num2引用的对象赋值给num1, 使得这两个变量引用同一个对象
System.out.println(num1==num2); //输出结果为: true
System.out.println(num1!=num2); //输出结果为: false
下面通过“==”运算符向读者介绍Java包装类的自动装箱与拆箱的相关知识。先来看下面的代码:
Integer num1=280; //将自动进行280转换为Intege对象的装箱操作
Integer num2=280; //将自动进行280转换为Intege对象的装箱操
--转自