学习日记(基本运算符详解)

学习日记

基本运算符

1. 理论基础

  • 算数运算符: + 、 -、 * 、 / 、 %(取余、模运算) 、 ++(自增) 、 --(自减)
  • 赋值运算符: =
  • 关系运算符: > 、 < 、 >= 、 <= 、 == 、 != 、 instanceof
  • 逻辑运算符:&&、 || 、 !
  • 位运算符: & 、 | 、 ^(异或)、 ~(非、取反) 、 >>(右移)、 <<(左移) 、 >>>
  • 条件运算符: ? :
  • 扩展赋值运算符: += 、 -= 、 *= 、 /=

注意:

  • 字符串连接符:+。

  • 整数运算中,计算式有 long 类型的,最后结果为 long 类型,否则默认为 int 型(举例在后)。

  • ++ 和 – 是一元运算符,? 和 : 是三元运算符,x ? y : z 表示 x 若为 true,则 y,否则为 z。

  • 幂运算等很多运算,会使用一些工具类来操作,如 Math 类。

  • 位运算符中的异或(^),若相同则为0,不同则为1。

  • 位运算符中的左移(<<)相当于 *2,右移(>>)相当于 /2(最后结果取整)。

  • 位运算效率极高,计算 2^10,可以用 int a = 2<<9;int b = x<<y; 计算结果为 b = x * 2^y

  • 优先级:一般使用括号,良好的编码习惯(+ 的优先级高于 << 和 >>)。

  • 位运算符的取反(~)比较特殊,计算机内部对二进制进行运算用的都是补码,按位取反是对补码进行按位取反运算,当运算完后,再将补码变回原码

原码反码补码按位取反(~)变回原码
正数和原码一样和原码一样变为负数对补码再进行一次补码变换
负数符号位不变,其余位取反反码 + 1变为正数对补码再进行一次补码变换
原码反码补码按位取反(~)变回原码
0000 1001(9)0000 10010000 10011111 01101000 1010(-10)
1000 1001(-9)1111 01101111 01110000 10000000 1000(8)

注意:

① 变反码时,符号位(0正1负)不变,其余位取反;进行位运算符的取反(~)操作时,每位均取反。

② 补码变为原码,将补码再进行一次补码变换。

③ 若已知十进制数 a,求按位取反的结果 b,计算公式:b = (a+1) * (-1)


2. 实践操作

  • 算数运算符
    在这里插入图片描述

  • 自增、自减、幂运算

  • 关系运算符

  • 逻辑运算符和短路运算

  • 位运算符

  • 位运算符中的取反(~)

  • 扩展赋值运算符

  • 字符串连接符

  • 条件运算符,必须掌握!

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

Sun 3285

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

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

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

打赏作者

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

抵扣说明:

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

余额充值