java 运算符

  • 算术运算符
    算术运算符的操作对象必须是数值类型,不能为boolean进行运算,因为在Java中,char类型本质上是int的子集,所以也能对char类型进行运算。

    运算符含义
    +加(一元加号)
    -减(一元减号)
    *
    /
    %求模(取余数)
    + +自增
    - -自减
    +=加并赋值
    -=减并赋值
    *=乘并赋值
    /=除并赋值
    %=求模并赋值
  • 位运算符
    位运算符,仅用于long,int,short,char和byte。

    运算符含义
    ~按位一元取反
    &按位与
    &=按位与并赋值
    |按位或
    |=按位或并赋值
    ^按位异或
    ^=按位异或并赋值
    >>右移
    >>=右移并赋值
    >>>右移零填充
    >>>=右移零填充并赋值
    <<左移
    <<=左移并赋值

    位运算符用于对二进制进行运算,顾名思义二进制即为满二进一,所以在表示时,只会出现0和1,我们编码中最小单位是一个字节,而一个字节有8位,所以一个直接用二进制表示就是:
    在这里插入图片描述

    • ~5
      运算规则:将数转换为二进制,将0变成1,将1变成0。java中用高位表示数的正负,也就是最左边的那个数,当高位为1时表示负数,负数的补码是其绝对值的原码取反,末尾再加1。
      ~5 = -6

    • 5 & 8
      运算规则:将两个数转换为二进制,从高位开始比较,若相同位置两个都为1,结果为1,否则为零。5&8=0

    • 5 | 8
      运算规则:将两个数转换为二进制,从高位开始比较,若相同位置有一个为1,结果为1,否则为零。
      5 | 8 =13

    • 5 ^ 8
      运算规则: 将两个数转换为二进制,从高位开始比较,若相同位置下两个数相同则为0,不相同则为1。
      5^8=13

    • 15 >> n
      运算规则:将数转换为二进制,整体向右平移n个单位,设n等于2: 注意补上的地方,负数补1,正数补0 15>>2=3
      快速算法:M >> n = M / 2n

    • 15 << n
      运算规则:将数转换为二进制,整体向左平移n个单位,设n等于2:
      15<<2 = 60
      快速算法: M << n = M * 2n

    • >>>
      右移零填充(>>>)只对32位和64位有意义,在移动的时候与右移运算符的移动方式一样的,区别只在于补位的时候不管是0还是1,都补0。

  • 关系运算符
    关系运算符用于判定一个操作数与另一个操作数之间的关系

    运算符结果
    ==等于
    !=不等于
    >大于
    <小于
    >=大于等于
    <=小于等于
  • 逻辑运算符

    运算符结果说明
    &逻辑与ab 全为 true 时,计算结果为 true,否则为 false
    |逻辑或ab 全为 false 时,计算结果为 false,否则为 true
    ^逻辑异或ab一个为true一个为false时结果为true,否则为false
    ||短路或
    &&短路与与&相同
    !逻辑一元非a 为 true 时,值为 false,a 为 false 时,值为 true
    &=逻辑与并赋值运算完后赋值给
    |=逻辑或并赋值运算完后赋值给
    ^=逻辑异或并赋值运算完后赋值给
    ==等于字面意思
    !=不等于字面意思
    ?:三元运算符[条件语句] ? [若为true执行] : [若为false执行]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值