zoukankan      html  css  js  c++  java
  • Java运算符

    Java之运算符

    java运算符分为算数运算符、位运算符、逻辑运算符、其他运算符(三元运算符),具体如下:

    &(按位与)

    &按位与的运算规则是将两边的数转换成二进制位, 最后运算最终值,其运算法则为:两个数都为真,最终值才为真,一个假既值为假。(1&1=1、1&0=0、0&1=0、0&0=0)

    3的二进制位是0000 0011,5的二进制位是0000 0101,那么就是011 & 101,由按位与运算的规则可求得,最终值为001,既值为1。

    7的二进制位是0000 0111,那就是101 & 111等于101,也就是0000 0101,估值为5

    &&(逻辑与)

     

    &&逻辑与也称为短路逻辑与。先运算&&左边的表达式,一旦为假,后续不管多少的表达式,均不再计算,一个为真,在计算后边的表达式,两个为真才为真。

    |(按位或)

    |按位或和&按位与计算方式都是转换二进制再计算,不同的是计算规则(一个为真即为真)1|0 = 1、0|1 = 1、1|1 = 1、0|0 = 0

    8的二进制位0000 1000,2的二进制位是0000 0010,1000 | 0010,最终值为1010,故8|2=10

     ||(逻辑或)

    逻辑或||的运算规则是一个为真即为真,后续不再计算,一个为假再计算后边的表达式。

    ^(异或运算符)

    ^异或运算符就是字面意思,异就是不同,其运算规则为1^0 = 1、1^1 = 0、0^1 = 1、0^0 = 0

    5的二进制位是0000 0101,9的二进制位是0000 1001,也就是0101^1001,结果为1100,00001100的是十进制为是12

    <<(左移运算符)

    5<<2的意思为5的二进制位往左挪两位,右边补0,5的二进制位是0000 0101,就是把有效值101往左挪两位就是0001 0100,正数右边第一位补0,负数补1,等于乘于2的n次方,十进制位是20

    >>(右移运算符)

    凡是运算符都要先把值转换成二进制再进行后续的运算,5的二进制位是0000 0101,向右移两位就是把101右移后两位,正数左边第一位补0负数补1,等于乘于2的n次方,结果为1

     ~(取反运算符)

    取反就是把要处理的数先转换为二进制,1为0,0为1,10 的二进制位是0000 1010,取反之后就是1111 0101,值为-11

    >>>(无符号右移运算符)

    正数无符号右移

    无符号右移运算符和右移运算符的主要区别在于负数的计算,因为右移运算符是高位补0,移多少位补多少个0

    15的二进制是0000 1111,右移两位就是0000 0011,最终值为3

  • 相关阅读:
    xcode 定义自己的代码片段
    iOS 开发技巧
    iOS 上传自己的库到cocoapod
    制作正式版10.11 OS X El Capitan 安装U盘(优盘)
    查看 共享内存 的命令 ipcrm、ipcs
    批量kill 进程
    GROUP BY、HAVING、AS 的用法小例子
    C++多线程中调用python api函数
    C++ 查询某个变量的类型
    C++ 把枚举变量的名称,直接当字符串使用方法 字符串化符号 #
  • 原文地址:https://www.cnblogs.com/wudidamowang666/p/11415904.html
Copyright © 2011-2022 走看看