欢迎光临散文网 会员登陆 & 注册

150天打卡day04_运算符

2021-02-23 15:55 作者:关阿姨的Java日记  | 我要投稿

本节内容

  • 数学运算符

  • 逻辑运算符

  • 关系运算符

  • 赋值运算符

  • 字符串拼接运算符

  • 三目运算符

运算符概念

小可爱们复习完昨天讲过的内容后,咱们今天要学一个新的知识点叫运算符,Java领域中包含的运算符有数学运算符、关系运算符、逻辑运算符、赋值运算符等。

那么什么是运算符呢?运算符其实是计算机中的一种符号,可以用来告诉计算机执行特定的数学或逻辑操作的符号。说的罗里吧嗦的到底什么意思呢?就是计算机本质是只能处理数字的,数字中运算的各种符号例如加减乘除括号等等我们就叫做运算符。

运算符的由来

我们知道数字是印度人发明的,而通过阿拉伯人传播的,运算符是古希腊人和印度人一起发明的。他们表示+、-都是把两个数字写在一起表示加法,把两个数字写得分开一些来表示减法。

中世纪后期,欧洲商业逐渐发达。一些商人常在装货的箱子上画一个“+”,表示重量超过一些;画一个“-”,表示重量略微不足。文艺复兴时期,有一个老头,这个老头你们都认识,猜猜是谁?意大利的艺术大师达•芬奇在他的一些作品中也采用过“+”和“-”的记号。经过数学家韦达的大力宣传和提倡,这两个符号才开始普及,到1603年终于获得大家的公认。

下面是运算符的一个图表,给大家简单介绍一下,大家不用背哈,用到了自然也就会了。

运算符学习要点

学运算符之前呢咱们要掌握以下:

按照参与运算元素的个数分为:单元、双元、三元运算

  • 单元运算:a++

  • 双元运算:a+b

  • 三元运算符:running ? a:b

优先级:优先级高的运算符先进行计算

括号级别最高,其次是单元运算,双元运算(先乘除后加减)、三元运算和赋值运算最低

结合性:相同优先级的按照结合顺序进行计算,双目运算从左到右

顺序调整:可以利用()调整运算的顺序,建议按照人能理解的顺序添加括号

一、数学运算符

刚刚大家已经了解了什么是运算符,以及运算符的一些要点

接下来由我们来学习今天的第一种运算符,也就是数学运算符.

Java算数运算符包括:加(+)、减(-)、乘(*)、除(/)、取模运算(%)、自增(++)、自减(--)

1、四则运算

加(+)、减(-)、乘(*)、除(/)也称为四则运算是最常⻅的数学运算,运算规则与数学中的数学运算基本一样,但是也有一些细 微区别。一样的规则这里就不再复述,这里主要讨论一些不同之处:

  1. 相同数据类型参与数学运算,得到相同类型的结果,整数除法得到整数结果

  2. 参与数学运算的数据类型不一致的时候,就近自动数据类型转换,转换为相同类型再进行计算

  3. byte、short、char类型按照int类型计算

  4. 计算结果超过数据类型范围会溢出

Java中,对于不需要任何准确计算精度的数字可以直接使用float或double运算,但是如果需要精确计算的结果,例如商业应用,则必须使用BigDecimal类,而且使用BigDecimal类也可以进行大数的操作。减法应用和数学一样。

实现两个数值相除的结果,例如:

2、取余运算

取模运算(%)意思是取余数,可以用在 整数、char类型和浮点数中使用。取余数计算其意义就是计算获得除法计算的余数。在日常生活中其余数计算不常用,但是 在计算机编程中,余数计算经常被用到。下面就讨论一下余数计算的特点,正是因为这些特 点,余数计算才经常被使用。

数学除法:

余数计算:

除数是正数的时候余数的运算规律:

  1. 被除数是正数时候余数是介于0到除数之间的数,比如:除数3则余数是0,1,2之一,范围是【0,3)

  2. 如果被除数是0,1,2,3.....则余数是周期函数,如:除数3则余数就是0,1,2,0,1,2.......

  3. 如果被除数是负数,除数是3则其余数范围是:(-3,0】

    负数作为被除数或者除数的情况在工作中很少用,但是在考试中有出现。

开发中余数的用途:

  • 控制计算结果的范围,比如控制计算结果是3以内的数,就对3取余数就行了

  • 控制周期性的运算:比如”发牌“,周期循环动画

3、自增自减运算

Java的自增运算符(++)和自减运算符(--)继承自C++,自增、自减运算就是将当前变量的值增加1或者减少1。

传统数学计算中是不存在自增或 者自减运算的,由于软件开发中经常需要按照次序连续处理数据,计算机专家们按照自己的使 用习惯设计了自增自减运算。这些运算经常用于在开发编码中,可以使用的程序编码变的非常 干练简洁。自增运算、自减运算符号是++、--,是单元运算,也就是说一个操作元素参与运 算,其基本运算规则是将参与运算的变量增加或者减少1。

a++:代表 先赋值 (先将a的值作为a++的值) 后运算 (+1)

++a: 代表 先运算(先将变量的值+1) 后赋值 (然后将+1后的值赋值给表达式)

按照写法可以分为4种情况:

i++ 称为“后加加”:  先取变量i的值作为 i++ 整体表达式的值,再将i的值增加1

假设运算前i=1,则运算后 i++ 为1 ,i为2

++i 称为“先加加”:先将i的值增加1,再取变量i的值作为 ++i 整体表达式的值

假设运算前i=1,则运算后 ++i 为2 ,i为2

i-- 称为“后减减”:先取变量i的值作为 i-- 整体表达式的值,再将i的值减少1

假设运算前i=1,则运算后 i-- 为1 ,i为0

--i 称为“先减减”:先将i的值减少1,再取变量i的值作为 --i 整体表达式的值

假设运算前i=1,则运算后 --i 为0 ,i为0

二、关系运算符

关系运算符用于比较数值的大,小,相等关系,Java关系运算符和数学上的关系运算规则类似,在开发中用于判断数据的大小以及是否相等,包括六个运算符:

大于(>)、小于(<)

大于等于(>=)、小于等于(<=)

等于(==)、不等于(!=)

运算结果是boolean类型,如果成立就为true,不成立就为false

三、逻辑运算符

逻辑运算建立在关系运算的基础之上,逻辑运算包括: 与(&&)、或(||)、非(!)

参与运算的变量或者表达式,包括最后的运算结果都 boolean类型

1、使用 &&(与) 运算符

两个boolean变量参与 && 运算时,两个变量都为true,结果才为true,否则结果为false。

适用场景在做登陆页面的时候,我们第一次注册完账号和密码后会先帮我们存储到数据库中,我们第二次登陆的时候,会先去数据库里查找,我们输入的账号和密码是不是和数据库里的匹配,只有账号和密码返回都为true了,那么才能登陆成功。

所以逻辑与表达得是并且的关系,两边都为真则为真,见false则false

2、使用 || (或)运算符

两个boolean变量运算时,当一个变量值为true时,结果为true,两个都为false时结果为false

适用场景:在去银行贷款的时候,会有几个要求,要么是银行的VIP或者要么信用积分到一定的程度都可以贷款,只要两个条件满足一个就可以了,

还有就是我们去饭店吃饭的时候,要结账了,我们没有带现金,用微信能不能结账 能,再假设,我微信没有钱,我用支付宝能不能结,也能

所以 逻辑或,有一边为真则为真,见true则true

3、使用 ! 运算符

! 运算只会有一个boolean变量参与运算, 运算后的值与该变量相反

简单来说就是变量为true时结果为false,变量为false时结果为true

例如:

经典案例:判断闰年问题

闰年是比普通年份多出一段时间的年份,目的是为了弥补人为规定的纪年与地球公转产产生

的差异。

  • 回归年:365天5时48分46秒 ,就是太阳直射点来回的周期,也就是通常说的一年

  • 目前使用的格里高利历闰年规则如下:

  • 公元年份除以4可整除但除以100不可整除,为闰年。

  • 公元年份除以400可整除,为闰年。 

Scanner类的使用

前面学习内容中想对变量赋值,所赋之值都是一个固定的值,像int a=1;  int b = 25;而很多时候想给变量赋的值并非是一个固定的值,比如,用户输入的值是几,就给变量赋值为几,这样的情况可以借助于Scanner类实现,使用步骤如下:

1.  在package下:

导入Scanner ApI:import java.util.Scanner

2.  在main()中:创建Scanner对象:Scanner sc =new Scanner(System.in);

3.  在第2步骤之下:调用方法获取用户输入的信息:int year = console.nextInt();

next()通常接收连续字符串,如果有空格只输出第一连续字符

nextLine()接收一整行

四、赋值运算符

1、使用 = 进行赋值运算

= 称为赋值运算符,用来对变量赋值。赋值表达式除了可以将右边的表达式计算出来赋给左边以外,其本身也有值,本身就是所赋之值

2、复合运算符

扩展赋值表达式就是在赋值表达式 = 前加上其他运算符。

包括:+=、-=、*=、/=、%=

需要注意的是,扩展赋值表达式包含强制类型转换。

五、字符串连接运算符

如果加号两侧都是数值就是数值加法

如果加号的一侧出现了字符串,就按照字符串连接运算计算


字符串连接的时候,会将不是字符串的数据转换为字符串再进行连接

六、三元运算符

三元运算符也称为“条件运算符”或者“条件表达式”,其本质上是一种简化版的条件判断

语句。因为其简方便在开发中经常被使用

条件运算符又称为 三目运算符,其结构为: boolean表达式 ? 表达式1:表达式2

? 是格式要求,代表判断条件是否成立.条件运算符的规则如下:

  • 先计算boolean表达式

  • 如果boolean表达式的值为true,整个表达式的值为表达式1的值

  • 如果boolean表达式的值为false,整个表达式的值为表达式2的值 

 案例:将计算闰年的逻辑运算改成三目运算



150天打卡day04_运算符的评论 (共 条)

分享到微博请遵守国家法律