0
点赞
收藏
分享

微信扫一扫

【JavaSE系列】 第三话 —— 运算符

fbd4ffd0717b 2022-03-12 阅读 80

目录

 🍚一、思维导图

 🥩二、算术运算符

            🍉🍉2.1 基本算术运算符

            🥤🥤2.2 增量运算符

            🍔​​​​​​​🍔2.3 自增、自减运算符

 🧇三、关系运算符

 🍜四、逻辑运算符(这个十分重要)

             🍺​​​​​​​🍺4.1 逻辑与(&&)

             🧂​​​​​​​🧂4.2 逻辑或(||)

            🍟​​​​​​​🍟4.3 逻辑非(!)

             🍷​​​​​​​🍷4.4 需要特别注意的(&与|):

 🍇​​​​​​​五、位运算符 

            🍓​​​​​​​🍓5.1 按位与(&)

            🍤​​​​​​​🍤5.2 按位或(|)

            🍞​​​​​​​🍞5.3 按位异或(^)

            🍰​​​​​​​🍰5.4 按位取反(~)

 🌭六、移位运算符(了解)

             🥙​​​​​​​🥙6.1 左移(<<)

             🍛​​​​​​​🍛6.2 右移(>>)

             🍯​​​​​​​🍯 6.3 无符号右移(>>>)

 🍗七、条件运算符

 🍖八、表达式优先级

 🍫总结


一、思维导图

 


 

二、算术运算符

2.1 基本算术运算符

       常见的基本算术运算符有 加减乘除取模 (+ 、- 、  *、 / 、 %);而相信大家都知道,加减乘三个都是非常简单的,因此 我们可以把重点放在 “除” 和 “取模 ” 这两个算术运算符上。

下面是一些关于 “除” 和 “取模” 需要注意的地方: 

  1. 在JAVA里面,除数是不可以为0的;当除数为0的时候,程序会进行报错。
  2. 取模 就是算术中的 取余数;在JAVA里面,我们也可以去取小数的余数
  3. 当然,我们也需要知道 有关于负号的求余数(虽然是很基础的,但是肯定有人还会搞错)       不知道以前小学老师有没有教过这个,反正俺是不记得了(现在要记得,被除数、除数、商的乘积 一定要是正数)。

2.2 增量运算符

增量运算符 包括 += 、 -= 、 *= 、 %= 。 

这一类运算符也是非常的简单:

下面来介绍一个小细节(隐藏着 强制类型转换):

 当然,其实 += 、 -= 、 *= 、 %= 都蕴含着。

 2.3 自增、自减运算符

自增、自减运算符 包括 前置++、前置--、后置++、后置--。

下面我就以 前置++、后置++来介绍,因为前置--、后置-- 是一样的:

 


 

 三、关系运算符

常见的关系运算符有 == 、!= 、 < 、> 、<= 、>= ,其计算结果是 true 或者 false

【注意】当需要多次判断时,不能连着写,比如:3 < a < 5,应该写成 3 < a && a < 5 。 


 

四、逻辑运算符(这个十分重要)

       逻辑运算符 只有3个,分别是 逻辑与、逻辑或、逻辑非(&&、||、!),运算结果都是 布尔类型。

4.1 逻辑与(&&)

规则:布尔表达式1 && 布尔表达式2,左右表达式必须是boolean类型的结果。

注意:两个表达式都为真,结果才是真,只要有一个是假,结果就是假。

布尔表达式1布尔表达式2结果

4.2 逻辑或(||)

规则:布尔表达式1 || 布尔表达式2,左右表达式必须是boolean类型的结果。

说明:只要有一个是 真,那么整个表达式的结果就是 真。

布尔表达式1布尔表达式2结果

4.3 逻辑非(!)

语法规则:! 布尔表达式 。

注意:真变假,假变真。

布尔表达式结果

4.4 需要特别注意的(&与|):

& | 如果表达式结果为 boolean , 也表示逻辑运算. 但与 && || 相比, 它们不支持短路求值。

如果这两个表达式,左右两边不是 布尔表达式,那么代表什么?

——代表了 下面所要介绍的 位运算

 


 

五、位运算符 

       位运算符 主要包括4种:按位与(&)、按位或(|)、按位取反(~)、按位异或(^)。

       数据存储的最小单位是字节,而数据操作的最小单位是比特位

       字节是最小的存储单位,每个字节是由8个二进制比特位组成的,多个字节组合在一起可以表示各种不同的数据。

       位操作表示 按二进制位 运算。 计算机中都是使用二进制来表示数据的(01构成的序列), 按位运算就是在按照二进制位的每一位依次进行计算。

5.1 按位与(&)

按照数学中的运算,可以把它看成是 乘法,二进制中的乘法运算:

其实 int是32位,这里只用8位写一下:

 

5.2 按位或(|)

按照数学中的运算,可以把它看成是 加法,二进制中的加法运算:

其实 int是32位,这里只用8位写一下:

 5.3 按位异或(^)

按照数学中的运算,可以把它看成是 相异的为1,相同的为0:

其实 int是32位,这里只用8位写一下:

其实就相当于 找出不一样的位(不一样的变成1)。

5.4 按位取反(~)

就是把1变成0,把0变成1 :

 


 

六、移位运算符(了解)

移位运算符 只有3个:左移(<<)、右移(>>)、无符号右移(>>>)。

6.1 左移(<<)

规则:最左侧丢弃,最右侧补0:

实质:左移相当于乘法,m左移n位,相当于m*(2^n):

 6.2 右移(>>)

规则:最右侧位不要了, 最左侧补符号位(正数补0, 负数补1)

实质:右移相当于除法(正数);负数也是,但是稍微有一点区别,可以不用记(负数相当于是向小取整)

 

 6.3 无符号右移(>>>)

规则:不管是 正数还是负数,统统补0:


 

七、条件运算符

即:表达式1 ? 表达式2 :表达式3 (表达式1 必须是一个布尔表达式)

规则:如果表达式1为真,那么执行表达式2,否则执行表达式3:、

要么返回表达式2的结果,要么返回表达式3的结果,所以必须接收它,否则编译会报错:

 


 

八、表达式优先级

这个是可以不用记的,如果不知道优先级的话,可以用括号来括一下。

 


总结

这一话的需要知道的内容就这么多了,

如果有啥不到位的地方欢迎指出来,大家互相督促、共同进步啊。

当然啦如果铁铁们可以一键三连那就更棒了,特别特别感谢 ୧(๑•̀⌄•́๑)૭ 。

 

 

举报

相关推荐

0 条评论