.Net转Java自学之路—基础巩固篇二(运算符)

运算符:

  1、算术运算符

    +  -  *  /  %(取余)

    ++:自增(前/后)前:a=2;b=++a;  a=3;b=3;后:a=2;b=a++;  a=3;b=2

    --:自减(前/后)前:a=2;b=--a;  a=1;b=1;后:a=2;b=a--;  a=1;b=2

  2、赋值运算符

    =  +=  -=  *=  /=  %=

  3、比较运算符

    ==  !=  <  >  <=  >=  instanceof   检查是否是类的对象(“abc” instanceof String)

  4、逻辑运算符  

    &  并且  两边都为true则为true

    |   或   两边都为false则为false

    ^  异或  两边相同则为false;不同则为true

    !   非

    &&  并且  判断规则和&一样;不同在于从左执行找到一个false则右边不再执行

    ||  或   判断规则和|一样;不同在于从左执行找到一个true则右边不再执行

  5、位运算符

    对二进制进行操作的符号。

    a、<<  左移

    算法:

      整数M左移n位:就是M的二进制数据左移n位,最高位(左边)溢出的n位去除,最低位(右边)空缺的n位用0来补充;得出的二进制数据转换成十进制数据就是整数M左移n位等到的结果

    结论:

      整数M左移n位 = M<<n = M * 2的n次方。

    b、>>  右移

    算法:

      整数M右移n位:就是M的二进制数据右移n位,最低位(右边)溢出的n位去除,最高位(左边)空缺的n位用0或1来补充;得出的二进制数据转换成十进制数据就是整数M右移n位等到的结果。

    特点:

         1、如果最高位(最左边)为0,右移后,最高位用0补充。

       2、如果最高位(最左边)为1,右移后,最高位用1补充。

    结论:

      整数M右移n位 = M>>n = M / 2的n次方。

    c、>>>  无符号右移

    算法及特点:

      无符号右移,无论最最高位(最左边)是0或是1,无符号右移后,最高位都用0填充。

    运用:

      每次整数M二进制数据无符号右移四位,取出溢出四位的二进制转换成十六进制;这样依次无符号右移四位,可以完成该整数M对十六进制的转换。

    d、&   与

      进行俩个整数二进制的“与”运算。

    运用:

      取出二进制某一段有效数据?

      方式:二进制当前该段的二进制数据与对应的1进行“与”运算。

    实例:

      取出二进制最低四位的有效数据。

      设:0000-0000 0000-0000 0000-0000 1110-0111
       & 0000-0000 0000-0000 0000-0000 0000-1111

      等于0000-0000 0000-0000 0000-0000 0000-0111

    e、|     或

      进行俩个整数二进制的“或”运算。

    f、^    异或

      进行俩个整数二进制的“异或”运算。

    特点:

      一个整数异或同一个数俩次,结果还为该整数。

      M ^ x = N  (相当于加密)

      N ^ x = M  (相当于解密)

      x  相当于密匙

    g、~    反码、取反

      二进制取反,0变1,1变0。

    实例:

      ~7:7的二进制取反

      0000-0000 0000-0000 0000-0000 0000-0111      

      1111-1111  1111-1111   1111-1111   1111-1000

    负数的二进制表达方式:是对应的整数进行取反再加1

    实例:

      负7的二进制表达方式

      0000-0000 0000-0000 0000-0000 0000-0111

    取反1111-1111  1111-1111   1111-1111   1111-1000

     加0000-0000 0000-0000 0000-0000 0000-0001

    等于1111-1111   1111-1111  1111-1111   1111-1001    负7的二进制表达方式。

  6、三元运算符

    ?

    条件表达式?表达式一:表达式二

posted @ 2018-05-11 00:52  水痕灬  阅读(206)  评论(0编辑  收藏  举报