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

☕导航小助手☕

  🍚一、思维导图

  🍣二、算术运算符

              🧀🧀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结果

说明:

 逻辑与(&&)还有一个另外的名字——短路与:

 即:只有 布尔表达式1 为真的时候,布尔表达式2 才会尝试着去编译;当布尔表达式1为假的时候,布尔表达式2 就没有去编译了:

4.2 逻辑或(||)

规则:布尔表达式1 || 布尔表达式2,左右表达式必须是boolean类型的结果。
说明:只要有一个是 真,那么整个表达式的结果就是 真。
布尔表达式1布尔表达式2结果

注意:

逻辑或 也被叫做 短路或:
即:布尔表达式1如果是 真,那就不会执行 布尔表达式2;布尔表达式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的结果,所以必须接收它,否则编译会报错:

 


八、表达式优先级

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

 


总结

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

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

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

 

  • 24
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 31
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 31
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

哎呀是小张啊

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值