关系(比较)运算符用于判断两个数据的大小,例如:大于、等于、不等于。运算结果是boolean型。当运算符对应的关系成立时,运算结果是true,否则是false。
Java 中常用的比较运算符如下表所示:
注意:
- 基本类型的变量、值不能和引用类型的变量、值使用 == 进行比较boolean 类型的变量、值不能与其他任意类型的变量、值使用==进行比较;如果两个引用类型之间没有父子继承关系,那么它们的变量也不能使用==进行比较。
- ==和!=可以应用于基本数据类型和引用类型。当用于引用类型比较时,比较的是两个引用是否指向同一个对象,但在实际开发过程中,多数情况下只是比较对象的内容是否相同,不需要比较是否为同一个对象。
- 关系运算符的优先级为:>、<、>=、<=具有相同的优先级,并且高于具有相同优先级!=、==。关系运算符的优先级高于赋值运算符而低于算术运算符,结合方向是自左向右。
运行结果:
关系表达式通常用于 Java 程序的逻辑判断语句的条件表达式中。使用关系表达式要注意以下几点:
- 运算符>=、==、!=、<=是两个字符构成的一个运算符,用空格从中分开写就会产生语法错误。例如x> =y;
是错误的,但是可以写成x >= y;
在运算符的两侧增加空格会提高可读性。同样将运算符写反,例如=>、=<、=!等形式会产生语法错误。
- 由于计算机内存放的实数(浮点数)与实际的实数存在着一定的误差,如果对浮点数进行==(相等或 !=(不相等)的比较,容易产生错误结果,应该尽量避免。
- 不要将“==”写成“=”。
例如:
- a > b // 比较变量a的值是否大于变量b的值
- x+y> = z // 比较变量x与变量y的和是否大于或等于变量z的值
- width * width+size != area // 比较变量width的平方加上变量size的值是否与变量area的值不相等
- name == "zhht" // 比较变量name的值是否等于字符串nzht
- pass != "123456" // 比较变量pass的值是否不等于字符串“123456”