关系运算符
关系运算符用于比较两个值的关系。
关系运算符概述
什么是关系运算符
关系运算符比较两个值,返回boolean结果(true或false)。
Java
// 关系运算符结果
boolean result = 5 > 3; // true
boolean result2 = 5 < 3; // false
关系运算符列表
六种关系运算符
| 运算符 | 说明 | 示例 | 结果 |
|---|---|---|---|
| == | 等于 | 5 == 5 | true |
| != | 不等于 | 5 != 3 | true |
| > | 大于 | 5 > 3 | true |
| < | 小于 | 5 < 3 | false |
| >= | 大于等于 | 5 >= 5 | true |
| <= | 小于等于 | 5 <= 5 | true |
等于与不等于
==等于运算符
Java
int a = 5, b = 5;
boolean equal = a == b; // true
// 比较不同类型
int x = 5;
double y = 5.0;
boolean equal2 = x == y; // true(类型提升)
// 比较字符
char c1 = 'A';
char c2 = 65; // 'A'的ASCII码
boolean equal3 = c1 == c2; // true
!=不等于运算符
Java
int a = 5, b = 3;
boolean notEqual = a != b; // true
boolean notEqual2 = 5 != 5; // false
==与equals区别
Java
// ==比较基本类型值
int a = 5, b = 5;
a == b; // true
// ==比较引用类型地址
String s1 = new String("hello");
String s2 = new String("hello");
s1 == s2; // false(不同对象)
// equals比较字符串内容
s1.equals(s2); // true(内容相同)
基本类型用==比较值,引用类型用equals比较内容。
大于与小于
>大于运算符
Java
boolean result1 = 5 > 3; // true
boolean result2 = 3 > 5; // false
boolean result3 = 5 > 5; // false
// 浮点数比较
boolean result4 = 5.5 > 5.0; // true
<小于运算符
Java
boolean result1 = 3 < 5; // true
boolean result2 = 5 < 3; // false
boolean result3 = 5 < 5; // false
大于等于与小于等于
>=大于等于运算符
Java
boolean result1 = 5 >= 3; // true
boolean result2 = 5 >= 5; // true(等于也满足)
boolean result3 = 3 >= 5; // false
<=小于等于运算符
Java
boolean result1 = 3 <= 5; // true
boolean result2 = 5 <= 5; // true(等于也满足)
boolean result3 = 5 <= 3; // false
关系运算应用
条件判断
Java
int age = 25;
if (age >= 18) {
System.out.println("成年人");
}
if (age < 60) {
System.out.println("未退休");
}
循环控制
Java
int i = 0;
while (i < 10) {
System.out.println(i);
i++;
}
数值比较
Java
int a = 10, b = 20;
// 找较大值
int max = a > b ? a : b;
// 比较结果
boolean aIsBigger = a > b; // false
boolean bIsBigger = b > a; // true
boolean theyAreEqual = a == b; // false
范围检查
Java
int score = 85;
// 检查是否在范围内
boolean inRange = score >= 0 && score <= 100;
// 分数等级判断
if (score >= 90) {
System.out.println("优秀");
} else if (score >= 60) {
System.out.println("合格");
} else {
System.out.println("不合格");
}
注意事项
类型兼容
Java
// 基本类型可比较
int a = 5;
double b = 5.0;
boolean result = a == b; // true(自动类型提升)
// 不同类型不能比较
// boolean flag = true == 1; // 错误:类型不兼容
浮点数比较精度
Java
double a = 0.1 + 0.2; // 0.30000000000000004
double b = 0.3;
boolean equal = a == b; // false(精度问题)
// 正确方式:比较差值是否足够小
boolean approximatelyEqual = Math.abs(a - b) < 0.0001; // true
null比较
Java
String str = null;
// 使用==比较null
boolean isNull = str == null; // true
// 不能用equals比较null
// str.equals("hello"); // NullPointerException
// 安全方式
if (str != null && str.equals("hello")) {
// 安全处理
}
运算符优先级
关系运算符优先级
Java
优先级:
关系运算符 < 算术运算符
// 示例
int result = 5 + 3 > 6; // true
// 计算顺序:5+3=8,然后8>6=true
boolean b = 5 > 3 + 2; // false
// 计算顺序:3+2=5,然后5>5=false
与逻辑运算符结合
text
// 关系运算结果用于逻辑运算
boolean result = 5 > 3 && 3 < 4; // true && true = true
boolean result2 = 5 > 3 || 3 > 4; // true || false = true
要点总结
- 关系运算符返回boolean结果
- ==等于,!=不等于
大于,<小于
=大于等于,<=小于等于
- 基本类型用==比较值
- 引用类型用equals比较内容
=和<=包含等于情况
- 关系运算符优先级低于算术运算符
- 浮点数比较需注意精度问题
- 比较null用==,不用equals
- 常用于if条件判断和循环控制
📝 发现内容有误?点击此处直接编辑