首页 > 编程语言 >3.5 Java关系运算符

3.5 Java关系运算符

时间:2023-09-15 13:14:12浏览次数:48  
标签:Java 变量 运算符 3.5 number2 number1 true 比较

关系运算符(relational operators)也可以称为“比较运算符”,用于用来比较判断两个变量或常量的大小。关系运算符是二元运算符,运算结果是 boolean 型。当运算符对应的关系成立时,运算结果是 true,否则是 false。

关系表达式是由关系运算符连接起来的表达式。关系运算符中“关系”二字的含义是指一个数据与另一个数据之间的关系,这种关系只有成立与不成立两种可能情况,可以用逻辑值来表示,逻辑上的 true 与 false 用数字 1 与 0 来表示。关系成立时表达式的结果为 true(或 1),否则表达式的结果为 false(或 0)。表 1 给出了比较运算符的含义及其实例应用。

表 1 比较运算符的含义及其实例应用
运算符含义说明实例结果
> 大于运算符 只支持左右两边操作数是数值类型。如果前面变量的值大于后面变量的值, 则返回 true。 2>3 false
>= 大于或等于运算符 只支持左右两边操作数是数值类型。如果前面变量的值大于等于后面变量的值, 则返回 true。 4>=2 true
< 小于运算符 只支持左右两边操作数是数值类型。如果前面变量的值小于后面变量的值,则返回 true。 2<3 true
<= 小于或等于运算符 只支持左右两边操作数是数值类型。如果前面变量的值小于等于后面变量的值, 则返回 true。 4<=2 false
== 相等运算符 如果进行比较的两个操作数都是数值类型,无论它们的数据类型是否相同,只要它们的值相等,也都将返回 true。
如果两个操作数都是引用类型,只有当两个引用变量的类型具有父子关系时才可以比较,只要两个引用指向的不是同一个对象就会返回 true。
Java 也支持两个 boolean 类型的值进行比较。
4==4
97=='a'
5.0==5
true==false
true
true
true
false
!= 不相等运算符 如果进行比较的两个操作数都是数值类型,无论它们的数据类型是否相同,只要它们的值不相等,也都将返回 true。
如果两个操作数都是引用类型,只有当两个引用变量的类型具有父子关系时才可以比较,只要两个引用指向的不是同一个对象就会返回 true。
4!=2 true

注意点如下所示:
  1. 基本类型的变量、值不能和引用类型的变量、值使用 == 进行比较;boolean 类型的变量、值不能与其他任意类型的变量、值使用 == 进行比较;如果两个引用类型之间没有父子继承关系,那么它们的变量也不能使用 == 进行比较。
  2. == 和 != 可以应用于基本数据类型和引用类型。当用于引用类型比较时,比较的是两个引用是否指向同一个对象,但当时实际开发过程多数情况下,只是比较对象的内容是否相当,不需要比较是否为同一个对象。

关系运算符的优先级为:>、<、>=、<= 具有相同的优先级,并且高于具有相同优先级的 !=、==。关系运算符的优先级高于赋值运算符而低于算术运算符,结合方向是自左向右。

关系表达式通常用于 Java 程序的逻辑判断语句的条件表达式中。使用关系表达式要注意以下几点:
  • 运算符 >=、==、!=、<= 是两个字符构成的一个运算符,用空格从中分开写就会产生语法错误。例如 x> =y; 是错误的,但是可以写成x >= y; 在运算符的两侧增加空格会提高可读性。同样将运算符写反,例如 =>、=<、=! 等形式会产生语法错误。
  • 由于计算机内存放的实数与实际的实数存在着一定的误差,如果对浮点数进行 ==(相等)或 !=(不相等)的比较,容易产生错误结果,应该尽量避免。
  • 不要将“==”写成“=”。

下面是一些使用关系运算符的示例。
  1. a > b // 比较变量a的值是否大于变量b的值
  2. x+y> = z // 比较变量x与变量y的和是否大于或等于变量z的值
  3. width * width+size != area // 比较变量width的平方加上变量size的值是否与变量area的值不相等
  4. name == "zhht" // 比较变量name的值是否等于字符串nzht
  5. pass != "123456" // 比较变量pass的值是否不等于字符串“123456”

例 1

编写一个程序,使用户可以从键盘输入两个数,并判断这两个数之间的大小。 实现代码如下:
  1. public static void main(String[] args) {
  2.     int number1, number2; // 定义变量,保存输入的两个数
  3.     System.out.print("请输入第一个整数(number1):");
  4.     Scanner input = new Scanner(System.in);
  5.     number1 = input.nextInt(); // 输入第一个数
  6.     System.out.print("请输入第二个整数(number2):");
  7.     input = new Scanner(System.in);
  8.     number2 = input.nextInt(); // 输入第二个数
  9.     System.out.printf("number1=%d,number2=%d\n", number1, number2); // 输出这两个数
  10.     // 判断用户输入的两个数是否相等
  11.     if (number1 == number2) {
  12.         System.out.println("number1 和 number2 相等。");
  13.     }
  14.     // 判断用户输入的两个数据是否相等
  15.     if (number1 != number2) {
  16.         System.out.println("number1 和 number2 不相等。");
  17.         // 判断用户输入的数1是否大于数2
  18.         if (number1 > number2) {
  19.             System.out.println("number1 大于 number2。");
  20.         }
  21.         // 判断用户输入的数1是否小于数2
  22.         if (number1 < number2) {
  23.             System.out.println("number1 小于 number2。");
  24.         }
  25.     }
  26. }
保存程序并运行,运行结果如下所示:

 


图 1  运行结果
在本程序中,使用 input.nextInt() 接收用户从键盘输入的两个数,然后通过关系运算符来比较这两个数之间的大小。这里用到了 if 语句,它是一个流程控制语句,将在后面的章节中详细讲解。

标签:Java,变量,运算符,3.5,number2,number1,true,比较
From: https://www.cnblogs.com/szmtjs10/p/17704799.html

相关文章

  • 3.6 Java逻辑运算符(&&、||和!)
    逻辑运算符把各个运算的关系表达式连接起来组成一个复杂的逻辑表达式,以判断程序中的表达式是否成立,判断的结果是true或false。逻辑运算符是对布尔型变量进行运算,其结果也是布尔型,具体如表1所示。表1逻辑运算符的用法、含义及实例运算符用法含义说明实例结果&&a&&b短......
  • 3.8 Java自增和自减运算符(++和--)
    在对一个变量做加1或减1处理时,可以使用自增运算符++或自减运算--。++或--是单目运算符,放在操作数的前面或后面都是允许的。++与--的作用是使变量的值增1或减1。操作数必须是一个整型或浮点型变量。自增、自减运算的含义及其使用实例如表1所示。表1自增、自减......
  • 3.9 Java位运算符:Java移位运算符、复合位赋值运算符及位逻辑运算符
    Java 定义的位运算(bitwiseoperators)直接对整数类型的位进行操作,这些整数类型包括long,int,short,char和byte。位运算符主要用来对操作数二进制的位进行运算。按位运算表示按每个二进制位(bit)进行计算,其操作数和运算结果都是整型值。Java语言中的位运算符分为位逻辑运算符和位移......
  • 3.10 Java三目运算符(条件运算符? :)
    Java 提供了一个特别的三元运算符(也叫三目运算符)经常用于取代某个类型的if-then-else语句。条件运算符的符号表示为“?:”,使用该运算符时需要有三个操作数,因此称其为三目运算符。使用条件运算符的一般语法结构为:result=<expression>?<statement1>:<statement3>;其......
  • 3.12 Java直接量(字面量)
    直接量是指在程序中通过源代码直接给出的值,例如在inta=5;代码中,为变量a所分配的初始值5就是一个直接量。直接量的类型并不是所有的数据类型都可以指定直接量,能指定直接量的通常只有三种类型:基本类型、字符串类型和null类型。具体而言,Java 支持如下8种类型的直接量......
  • 3.11 Java运算符优先级
    所有的数学运算都认为是从左向右运算的,Java 语言中大部分运算符也是从左向右结合的,只有单目运算符、赋值运算符和三目运算符例外,其中,单目运算符、赋值运算符和三目运算符是从右向左结合的,也就是从右向左运算。乘法和加法是两个可结合的运算,也就是说,这两个运算符左右两边的操作数......
  • Java数据类型转换:强制类型转换+自动类型转换
    数据类型的转换是在所赋值的数值类型和被变量接收的数据类型不一致时发生的,它需要从一种数据类型转换成另一种数据类型。数据类型的转换可以分为隐式转换(自动类型转换)和显式转换(强制类型转换)两种。隐式转换(自动类型转换)如果以下2个条件都满足,那么将一种类型的数据赋给另外一种......
  • 3.3 Java算术运算符
    运算符丰富是 Java 语言的主要特点之一,它提供的运算符数量之多,在高级语言中是少见的。Java语言中的运算符除了具有优先级之外,还有一个结合性的特点。当一个表达式中出现多种运算符时,执行的先后顺序不仅要遵守运算符优先级别的规定,还要受运算符结合性的约束,以便确定是自左向右进......
  • 无涯教程-JavaScript - XOR函数
    描述XOR函数返回所有参数的逻辑异或。如果所提供条件的奇数判断为TRUE,则XOR函数返回TRUE,否则返回FALSE。语法XOR(logical1,[logical2],…)争论Argument描述Required/Optionallogical1logical1isrequiredandsubsequentlogicalvaluesareoptional.1to254c......
  • java 发行
    oracle17版本:JavaDownloads|OracleAdoptOpenJDK:https://adoptium.net/zh-CN/download/华为JDK:https://www.hikunpeng.com/developer/devkit/compiler/jdkAlibabaDragonwell,阿里巴巴版jdk......