• java中的运算符


    1算数运算符:+,-,*,/,%

    2自增自减 :++ ,--

    3赋值运算符 : = ,+=,-=,*=,/=

    4关系运算符 : >,<,>=,<=,== ,!=

    逻辑运算符: & ,| ,! ,&& ,||

    位运算符:它是对二进制位进行计算。

    位运算符是可以对十进制的整数进行计算,计算方式:将十进制转为二进制进行计算。

    二进制由0和1组成,所以计算的结果要么是0,要么是1

    1.5位运算符的符号:

    & (与):两者都是1的时候我就是一,其他都是0

    |(或):两者都为0时才为0 ,其他的都是1.

    ^(异或):两者不同为1,相同为0

    ~(取反):0变为1,1变为0.

    //负数的表现形式: 二进制位的最高位为1,那么这个数就是一个负数。

    1111-1111  1111-1111 1111-1111 1111-1111 : -1

    0000 0000 0000 0000 0000 0000 0000 0000 : 0

    -2:1111-1111  1111-1111 1111-1111 1111-1110

    -3:1111-1111  1111-1111 1111-1111 1111-1101

    -4:1111-1111  1111-1111 1111-1111 1111-1100

    -5:1111-1111  1111-1111 1111-1111 1111-1011

    -6:1111-1111  1111-1111 1111-1111 1111-1010

    -7:1111-1111  1111-1111 1111-1111 1111-1001

    0000-0000  0000-0000 0000-0000 0000-0111  = 7

    1111-1111 1111-1111 1111-1111 1111-1001

    规律:负数所对应的正数-1 ,取反

      负数所对应的正数取反+1

    作用:数据进行加密

    123456

    0-100 a-z

    24845845957512317580960  --- >123456

    6移位操作符:对二进制位进行操作

    6.1  >>  右移

    6.2  <<  左移

    6.3  >>> 无符号右移

    // >> 右移

    // << 左移

    // >>> 无符号右移

    //右移:

    System.out.println(6>>1); // --->3  6/2  2*1

    System.out.println(6>>2); // --->1  6/4  2*2

    System.out.println(6>>3); // --->0  6/8  2*3

    System.out.println(6>>4);

    System.out.println(9>>1); // --->4   9/2  2*1

    System.out.println(9>>2); // --->2  9/4  2*2

    System.out.println(9>>3); // --->1  9/8  2*3

    System.out.println(9>>4);//  --->0  9/16  

    System.out.println(-6>>1); //  -6/2 -->-3

    //规律: 右移多少位,就用需要移动的数除以2的多少次方。

     //左移 :

    System.out.println("-----这个是左移的结果----------");

    System.out.println(6<<1); // --->12  6*2  2*1

    System.out.println(6<<2); // --->24  6*4  2*2

    System.out.println(6<<3); // --->48  6*8  2*2*2

    System.out.println(6<<4); //---->96  6*16 2*2*2*2

    System.out.println(-6<<2);//--->-24

     //规律: 左移多少位,就用这个数乘以2多少次方。

    //>>>无符号的右移

    System.out.println(6>>>1); //3

    System.out.println(6>>>2); //1

    System.out.println(-6>>>2); // 1073741822

    原理:见图片。

    作用 : 提高运算速率。位运算是执行最快。

    比如: 以最快的方式计算 2*8

      2<<3  == 2*8 = 16

    特点 : 一个数A和两个相同的数^,最后结果还是原来的数A。

  • 相关阅读:
    BZOJ1877: [SDOI2009]晨跑
    SPFA的两个优化:SLF与LLL
    BZOJ1858: [Scoi2010]序列操作
    java线程基础巩固---如何捕获线程运行期间的异常
    java线程基础巩固---如何给你的应用程序注入钩子程序
    类的命名空间与卸载详解及jvisualvm使用
    okhttp拦截器之RetryAndFollowUpInterceptor&BridgeInterceptor分析
    okhttp初识拦截器
    类加载器双亲委托机制实例深度剖析
    类加载器重要方法详解
  • 原文地址:https://www.cnblogs.com/liluyu123/p/6062747.html
Copyright © 2020-2023  润新知