Java-02.23-28

逻辑运算符

简介

在这里插入图片描述
在这里插入图片描述

  • & :位于
    A为false,也会判断B表达式

  • && :短路与
    A为false,不会判断B

  • | :位或
    A为true,也会判断B表达式

  • || :短路或
    A为true,不会判断B

  • ^ AB不同则为true 相当于 !=

  • !取反

位运算符

简介

在这里插入图片描述

在这里插入图片描述

  • 3 & 5 输出1
    用二进制表示

  • ~19 输出 -20
    19 二进制 00010011,求其补码为本身
    非之后会为11101100
    此时为补码,转为原码后10010100

  • 位运算都是补码运算运算完后 首位为1,即需要求原码

  • 5-3=5+(-3)
    5的补码为本身(正数)( 00000101)
    -3的补码为 11111101
    相加为 00000010如果最开始为0则为正数,补码为本身

  • -5-3=-5+(-3)
    -5的补码为( 11111011)
    -3的补码为(11111101)
    相加为 11111000
    取其补码为10001000

  • 总结 运算之前都先求补码,正数的话为本身,计算完后为补码,首位为1则需要求原码,首位为0即为结果

在这里插入图片描述

移位操作

简介

在这里插入图片描述

  • 进行操作前先转补码
    在这里插入图片描述

交换两个变量值练习

简介

  • 使用算术运算
    a为10,b为12
    先求ab的差存储在a
    然后用b-差得出a存在b,
    然后用+差得出12
    (重点是存储差值)

  • 位运算
    任意一个值与另外一个值异或两次,值不变
    a=a^b
    b=a^b
    a=a^b
    存一个差值在a,然后通过异或交换了位置

运算符的操作优先级

简介

在这里插入图片描述

今日小结

简介

在这里插入图片描述

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章