关系运算符是双目运算符,用在条件表达式中。用于判断两个数据之间的关系,例如:大于、等于、不等于,比较的结果是一个布尔值( true 或 false )。下表列出了Java语言支持的比较运算符,表中例子假设A和B不相等其A小于B。

关系运算符“==”,用于判断运算符两边的操作数是否相等,如果相等,返回结果为true,否则返回false。例如下面语句:
int a = 10; int b = 20; boolean bJudge = a == b;
声明了变量a和变量b,分别赋值为10和20,第三条语句判断变量a和变量b的值是否相等,并把判断结果赋值给布尔类型的变量bJudge,由于关系运算符“==”优先级高于赋值运算符“=”,因此,语句执行顺序是先判断再赋值。此时bJudge的值为false。
关系运算符“!=”,用于判断运算符两边的操作数是否相等,如果不相等,返回结果为true,否则返回false。例如下面语句:
int a = 10; int b = 20; boolean bJudge = a != b;
因为变量a和变量b的值不相等,语句执行完后,bJudge的值为true。
关系运算符“〉”,用于判断运算符左边的操作数是否大于运算符右边的操作数,如果大于,返回结果为true,否则返回false。例如下面语句:
int a = 10; int b = 20; boolean bJudge = a 〉 b;
因为变量a的值小于变量b的值,语句执行完后,bJudge的值为false。
关系运算符“<”,用于判断运算符左边的操作数是否小于运算符右边的操作数,如果小于,返回结果为true,否则返回false。例如下面语句:
int a = 10; int b = 20; boolean bJudge = a < b;
因为变量a的值小于变量b的值,语句执行完后,bJudge的值为true。
关系运算符“>=”,用于判断运算符左边的操作数是否大于或者等于运算符右边的操作数,如果大于或者等于,返回结果为true,否则返回false。例如下面语句:
int a = 10; int b = 20; boolean bJudge = a >= b;
因为变量a的值小于变量b的值,语句执行完后,bJudge的值为false。
关系运算符“<=”,用于判断运算符左边的操作数是否小于或者等于运算符右边的操作数,如果小于或者等于,返回结果为true,否则返回false。例如下面语句:
int a = 10; int b = 20; boolean bJudge = a <= b;
因为变量a的值小于变量b的值,语句执行完后,bJudge的值为true。
案例1:在PbaseUnit6项目unit包下创建RelationSample类。代码如下:
/**
* @Title: RelationSample.java
* @Package unit
* @Description: Java基础知识课程案例
* @author 编程训练营
* @date 2019年12月1日
* @version V1.0
*/
package unit;
/**
* @ClassName: RelationSample
* @Description: 表达式与运算符(关系运算符)案例 1
* @author 编程训练营
* @date 2019年12月1日
*
*/
public class RelationSample {
/**
* @Title: main
* @Description: Java程序入口main方法
* @param @param args 参数
*
* @return void 返回类型 @throws
*/
public static void main(String[] args) {
// 声明变量a和变量b
int a = 10;
int b = 20;
// 声明boolean变量
boolean bJudge;
// 判断a和b是否相等
bJudge = a == b;
System.out.printf("a(10) == b(20)的结果:bJudge =%b\n", bJudge);
// 判断a和b是否不相等
bJudge = a != b;
System.out.printf("a(10) != b(20)的结果:bJudge =%b\n", bJudge);
// 判断a是否大于b
bJudge = a > b;
System.out.printf("a(10) > b(20)的结果:bJudge =%b\n", bJudge);
// 判断a是否小于b
bJudge = a < b;
System.out.printf("a(10) < b(20)的结果:bJudge =%b\n", bJudge);
// 判断a是否大于等于b
bJudge = a >= b;
System.out.printf("a(10) >= b(20)的结果:bJudge =%b\n", bJudge);
// 判断a是否小于等于b
bJudge = a <= b;
System.out.printf("a(10) <= b(20)的结果:bJudge =%b\n", bJudge);
}
}代码结构分析
程序功能主要是演示关系运算符的用法。
类似语句“bJudge = a==b;”,Java初学者可能会有困惑,语句中有赋值运算符和关系运算符,哪个运算符先参与运算呢?这就涉及到运算符优先级的问题,关于运算符优先级后面会有介绍。在当前语句中,关系运算符的优先级要高于赋值运算符,因此先执行关系运算,再将关系运算的结果赋值给变量bJudge。
程序执行结果如下图所示:
从上述结果也很容易看出,关系运算符返回的数据为布尔类型,或者ture,或者false。
关系运算符主要用于条件判断,改变程序的执行流程,后面讲述的条件语句就是采用关系运算符判断条件的真和假,并根据判断的结果(真或假)决定执行的语句。