Java关系运算符用于比较两个操作数并返回boolean值,包括==、!=、>、=、
Java中的关系运算符用于比较两个操作数的大小或相等性,结果总是返回一个boolean值(true或false)。它们不改变操作数本身的值,只做判断。
Java提供6种基本关系运算符:
==:等于(注意不是赋值的=),判断左右是否完全相等!=:不等于,与==逻辑相反>:大于,仅适用于数值类型或可比较的引用类型(如String需用compareTo()):小于>=:大于等于
:小于等于这些运算符优先级相同,低于算术运算符(如+、-),高于逻辑运算符(如&&、||)。
关系运算符最常出现在if、while、for等控制语句的条件表达式中:
// 示例:判断年龄是否成年
int age = 18;
if (age >= 18) {
System.out.println("已成年");
}
需要注意:
int、double等),直接比较值String、自定义对象),==比较的是内存地址,不是内容;要比较内容应使用.equals()方法==在比较float或double时可能因精度问题导致意外结果,建议用差值绝对值小于阈值的方式判断新手容易混淆==和.equals():
String a = "hello";
String b = new String("hello");
System.out.println(a == b); // false(地址不同)
System.out.println(a.equals(b)); // true(内容相同)
还有几个典型陷阱:
'a' == "a" 编译报错(类型不兼容)Integer x = null; if (x == 0) 运行时报NullPointerException
==:0.1 + 0.2 == 0.3 结果为false,应改用Math.abs(a - b)
关系运算符常与逻辑运算符配合使用,构建复杂条件:
int score = 85;
if (score >= 60 && score < 90) {
System.out.println("良好");
}
注意运算符结合性:&&和||是短路运算,左侧为false时不再计算右侧,这在避免空指针或提升性能时很有用。