Java开发笔记(十三)利用关系运算符比较大小
前面在《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开发笔记(十三)利用关系运算符比较大小的更多相关文章
- Java开发笔记(序)章节目录
现将本博客的Java学习文章整理成以下笔记目录,方便查阅. 第一章 初识JavaJava开发笔记(一)第一个Java程序Java开发笔记(二)Java工程的帝国区划Java开发笔记(三)Java帝国的 ...
- Java开发笔记(八十三)利用注解技术检查空指针
注解属于比较高级的Java开发技术,前面介绍的内置注解专用于编译器检查代码,另外一些注解则由各大框架定义与调用,像Web开发常见的Spring框架.Mybatis框架,Android开发常见的Butt ...
- Java开发笔记(三十七)利用正则串分割字符串
前面介绍了处理字符串的常用方法,还有一种分割字符串的场景也很常见,也就是按照某个规则将字符串切割为若干子串.分割规则通常是指定某个分隔符,根据字符串内部的分隔符将字符串进行分割,例如逗号.空格等等都可 ...
- Java开发笔记(三十八)利用正则表达式校验字符串
前面多次提到了正则串.正则表达式,那么正则表达式究竟是符合什么定义的字符串呢?正则表达式是编程语言处理字符串格式的一种逻辑式子,它利用若干保留字符定义了形形色色的匹配规则,从而通过一个式子来覆盖满足了 ...
- Java开发笔记(二十三)数组工具Arrays
数组作为一种组合形式的数据类型,必然要求提供一些处理数组的简便办法,包括数组比较.数组复制.数组排序等等.为此Java专门设计了Arrays工具,该工具包含了几个常用方法,方便程序员对数组进行加工操作 ...
- Java开发笔记(四十三)更好用的本地日期时间
话说Java一连设计了两套时间工具,分别是日期类型Date,以及日历类型Calendar,按理说用在编码开发中绰绰有余了.然而随着Java的日益广泛使用,人们还是发现了它们的种种弊端.且不说先天不良的 ...
- Java开发笔记(五十三)关键字final的用法
前面介绍了多态的相关用法,可以看到一个子类从父类继承之后,便能假借父类的名义到处晃悠.这种机制在正常情况之下没啥问题,但有时为了预防意外发生,往往只接受当事人来处理,不希望它的儿子乃至孙子来瞎掺和.可 ...
- Java开发笔记(五十六)利用枚举类型实现高级常量
前面介绍了联合利用final和static可实现常量的定义,该方式用于简单的常量倒还凑合,要是用于复杂的.安全性高的常量,那就力不从心了.例如以下几种情况,final结合static的方式便缺乏应对之 ...
- Java开发笔记(六十三)双冒号标记的方法引用
前面介绍了如何自己定义函数式接口,本文接续函数式接口的实现原理,阐述它在数组处理中的实际应用.数组工具Arrays提供了sort方法用于数组元素排序,可是并未提供更丰富的数组加工操作,比如从某个字符串 ...
随机推荐
- typescript之初学习
ts的优势: 支持ES6规范 强大的IDE支持(类型检测.语法提示.重构等) Angular的开发语言 ts的新特性: 一.字符串 1.多行字符串,使用反引号`` 2.字符串模板,使用表达式传入变量和 ...
- Axure环境安装,组件引入,使用示例
资源下载: Axure的中文官方下载地址:https://www.axure.com.cn/3510/ Axure汉化包:https://www.axure.com.cn/2616/ Axure元件库 ...
- JS日历插件 - My97 DatePicker用法详解
一.简介 1. 注意事项 (1)My97DatePicker目录是一个整体,不可破坏里面的目录结构,也不可对里面的文件改名,可以改目录名: (2)各目录及文件的用途: WdatePicker.js 配 ...
- [Swift]LeetCode219. 存在重复元素 II | Contains Duplicate II
Given an array of integers and an integer k, find out whether there are two distinct indices i and j ...
- [Swift]LeetCode263. 丑数 | Ugly Number
Write a program to check whether a given number is an ugly number. Ugly numbers are positive numbers ...
- [Swift]LeetCode384. 打乱数组 | Shuffle an Array
Shuffle a set of numbers without duplicates. Example: // Init an array with set 1, 2, and 3. int[] n ...
- [Swift]LeetCode401. 二进制手表 | Binary Watch
A binary watch has 4 LEDs on the top which represent the hours (0-11), and the 6 LEDs on the bottom ...
- 【Storm篇】--Storm 容错机制
一.前述 Storm容错机制相比其他的大数据组件做的非常不错. 二.具体原因 结合Storm集群架构图: 我们的程序提交流程如下: 其中各个组件的作用如下: Nimbus资源调度任务分配接收jar ...
- 【机器学习】--线性回归中L1正则和L2正则
一.前述 L1正则,L2正则的出现原因是为了推广模型的泛化能力.相当于一个惩罚系数. 二.原理 L1正则:Lasso Regression L2正则:Ridge Regression 总结: 经验值 ...
- Socket网络编程知识点
静态方法 与类无关,不能访问类里的任何属性和方法类方法 只能访问类变量属性@property 把一个方法变成一个静态属性, flight.status @status.s ...