前面在《Java开发笔记(九)赋值运算符及其演化》中提到,Java编程中的等号“=”表示赋值操作,并非数学上的等式涵义。Java通过等式符号“==”表示左右两边相等,对应数学的等号“=”;通过不等符号“!=”表示左右两边不等,对应数学的不等号“≠”。
可是一个等式真的就一定成立吗?譬如半斤八两这个成语,用Java等式改写的话变为“半斤==八两”。话说当年秦始皇统一中国,不但推行“书同文、车同轨”,而且也制定了重量单位的换算标准,当时规定十六两为一斤,从此沿用了两千多年。直到公元1959年,为了与国际接轨,中国发布了《关于统一计量制度的命令》,正式将称重计量定做十两为一斤。那么在1959年之前,“半斤==八两”这个等式是成立的;而在1959年之后,“半斤==八两”不成立。
为了区分某个式子成立和不成立的情况,Java把“==”看作是一种特殊的运算符号。凡是运算符都会得到运算结果,等式符号“==”也不例外,它的运算结果为布尔类型,值为true时表示这个等式成立,值为false时表示这个等式不成立。不等符号“!=”的运算结果与之类似,结果为true时表示不等式成立,为false时表示不等式不成立。下面是等式符号“==”和不等符号“!=”的运算代码例子,可以体会一下七上八下的返回结果:

		int seven = 7;
int eight = 8;
// 数学的等号“=”对应Java的“==”符号
boolean equal = seven==eight; // 结果为真表示等式成立,为假表示等式不成立
System.out.println("equal="+equal);
// 数学的不等号“≠”对应Java的“!=”符号
boolean not_equal = seven!=eight; // 结果为真表示不等式成立,为假表示不等式不成立
System.out.println("not_equal="+not_equal);

除了等号和不等号,数学上还有其它比较数字大小的符号,包括大于号“>”、小于号“<”、大等号“≥”、小等号“≤”等等,Java也提供了对应的判断符号。如运算符“>”表示大于,运算符“<”表示小于,运算符“>=”表示大等于,运算符“<=”表示小等于。这些大小判断符号同样拥有布尔类型的运算结果,因此通过甄别结果值为true还是false,即可判定大小比较的式子是否成立。下面是如何使用大于小于符号的演示代码:

		// 数学的大于号“>”对应Java的“>”符号
boolean greater = seven>eight;
System.out.println("greater="+greater);
// 数学的小于号“<”对应Java的“<”符号
boolean less = seven<eight;
System.out.println("less="+less);
// 数学的大等号“≥”对应Java的“>=”符号
boolean greater_and_equal = seven>=eight;
System.out.println("greater_and_equal="+greater_and_equal);
// 数学的小等号“≤”对应Java的“<=”符号
boolean less_and_equal = seven<=eight;
System.out.println("less_and_equal="+less_and_equal);

以上判断相等关系的两种运算符,加上判断大小关系的四种运算符,一共六种统称为“关系运算符”。

Java开发笔记(十三)利用关系运算符比较大小的更多相关文章

  1. Java开发笔记(序)章节目录

    现将本博客的Java学习文章整理成以下笔记目录,方便查阅. 第一章 初识JavaJava开发笔记(一)第一个Java程序Java开发笔记(二)Java工程的帝国区划Java开发笔记(三)Java帝国的 ...

  2. Java开发笔记(八十三)利用注解技术检查空指针

    注解属于比较高级的Java开发技术,前面介绍的内置注解专用于编译器检查代码,另外一些注解则由各大框架定义与调用,像Web开发常见的Spring框架.Mybatis框架,Android开发常见的Butt ...

  3. Java开发笔记(三十七)利用正则串分割字符串

    前面介绍了处理字符串的常用方法,还有一种分割字符串的场景也很常见,也就是按照某个规则将字符串切割为若干子串.分割规则通常是指定某个分隔符,根据字符串内部的分隔符将字符串进行分割,例如逗号.空格等等都可 ...

  4. Java开发笔记(三十八)利用正则表达式校验字符串

    前面多次提到了正则串.正则表达式,那么正则表达式究竟是符合什么定义的字符串呢?正则表达式是编程语言处理字符串格式的一种逻辑式子,它利用若干保留字符定义了形形色色的匹配规则,从而通过一个式子来覆盖满足了 ...

  5. Java开发笔记(二十三)数组工具Arrays

    数组作为一种组合形式的数据类型,必然要求提供一些处理数组的简便办法,包括数组比较.数组复制.数组排序等等.为此Java专门设计了Arrays工具,该工具包含了几个常用方法,方便程序员对数组进行加工操作 ...

  6. Java开发笔记(四十三)更好用的本地日期时间

    话说Java一连设计了两套时间工具,分别是日期类型Date,以及日历类型Calendar,按理说用在编码开发中绰绰有余了.然而随着Java的日益广泛使用,人们还是发现了它们的种种弊端.且不说先天不良的 ...

  7. Java开发笔记(五十三)关键字final的用法

    前面介绍了多态的相关用法,可以看到一个子类从父类继承之后,便能假借父类的名义到处晃悠.这种机制在正常情况之下没啥问题,但有时为了预防意外发生,往往只接受当事人来处理,不希望它的儿子乃至孙子来瞎掺和.可 ...

  8. Java开发笔记(五十六)利用枚举类型实现高级常量

    前面介绍了联合利用final和static可实现常量的定义,该方式用于简单的常量倒还凑合,要是用于复杂的.安全性高的常量,那就力不从心了.例如以下几种情况,final结合static的方式便缺乏应对之 ...

  9. Java开发笔记(六十三)双冒号标记的方法引用

    前面介绍了如何自己定义函数式接口,本文接续函数式接口的实现原理,阐述它在数组处理中的实际应用.数组工具Arrays提供了sort方法用于数组元素排序,可是并未提供更丰富的数组加工操作,比如从某个字符串 ...

随机推荐

  1. dedecms给图片加水印覆盖整张图片

    位置: /include/image.class.php $wmwidth = $imagewidth - $logowidth; $wmheight = $imageheight - $logohe ...

  2. 了解vue APi

    阳光那么好,何必自寻烦恼,过好每一个当下,一万个美丽的未来抵不过一个温暖的现在. 一.Vue.nextTick(): 该api 是在Dom节点更新结束之后执行的一个延时回调.在修改数据之后,立即使用这 ...

  3. 封装一个 员工类 使用preparedStatement 查询数据 (1)

    创建员工类  自动生成get set 方法 package cn.hph; public class emp { //定义表中的属性 private int id; private String en ...

  4. Unity AssetBundle的几个加载方式

    string path = @"AssetBundles/scene/cubewall.ab"; string cacheDownloadPath = @"file:// ...

  5. 利用redis + lua解决抢红包高并发的问题

    抢红包的需求分析 抢红包的场景有点像秒杀,但是要比秒杀简单点.因为秒杀通常要和库存相关.而抢红包则可以允许有些红包没有被抢到,因为发红包的人不会有损失,没抢完的钱再退回给发红包的人即可.另外像小米这样 ...

  6. FFmpeg 结构体学习(三): AVPacket 分析

    在上文FFmpeg 结构体学习(二): AVStream 分析我们学习了AVStream结构体的相关内容.本文,我们将讲述一下AVPacket. AVPacket是存储压缩编码数据相关信息的结构体.下 ...

  7. Kubernetes(k8s)1.12.2集群搭建

    本博客搭建k8s集群1.12.2版本 1. 准备2台以上最低2核4G的服务器 2. 关闭机器的防火墙 12 systemctl disable firewalldsystemctl stop fire ...

  8. Python爬虫4-URLError与HTTPError

    GitHub代码练习地址:URLError:https://github.com/Neo-ML/PythonPractice/blob/master/SpiderPrac06_URLError.py ...

  9. winform文件筛选器

    在.net 框架中,微软给我们封装了一个用于打开文件的对话框——OpenFileDialog.而该对话框包含一个可以筛选文件的属性——Filter,利用该属性,可选筛选出我们需要的文件.   因此,我 ...

  10. Python内置函数(23)——format

    英文文档: format(value[, format_spec]) Convert a value to a “formatted” representation, as controlled by ...