Java运算符(i++与++i)

运算符 用于指明对于操作数的运算方式

  按照运算符的功能来分类

    算术运算 :+ - * / %(取余 取模);  + +(自增)    - -(自减)

    赋值运算 : = 赋值符号,将 = 右边的内容(值 引用)存入左边的变量空间 

      +=(x+=2;相当于x=x+2;)    -=    *=    /=    %=

    关系运算(比较) : >   >=    <    <=    !=    ==    (对象 instanceof 类)              比较运算符的最终结果是boolean类型,也就是true或false

    逻辑运算 :  & (逻辑与)(前后两个条件同时满足,结果才为true)、 | (逻辑或)(前后两个条件有一个满足最终结果就为true)、^ (逻辑异或)(前后两个结果不一致,结果为true)、

            ! (逻辑非)(将原来结果取反)&& (短路与)(如果前一个条件为false,则直接断定结果为false,不再对第二个条件进行判断)|| (短路或)(当第一个条件为true,则不再对第二个条件进行判断)

    位(bit)运算 :  & (按位与)、 | (按位或)、^ (按位异或)、   ~  (按位取反)、 <<  (按位左位移)、   >>  (按位右位移)、   >>>  (按位右位移 无符号 不保留代表正负号的bit)   十进制后按字面意思进行计算;

i + + 与 + + i

i + +相当于i = i + 1;//在对i进行运算时,会先将 i 空间内的值取出至临时备份空间,然后从常量区取出数值1,而后进行计算,最后将计算结果存回 i 空间;

当+ + 在变量前面时,会先进行自增,后进行备份;而当 + +在变量后面时,会先备份后自增。而赋值操作是将备份空间中的值赋给别人!

    int x = 1;
    int y = x + +;//此时x值为2,y值为1,当 = 与 + + 分别在x两侧时,先赋值后自增
    int y = + + x;//此时x值为3,y值为3,当 = 与 + +相邻时,先自增后赋值
    int x = x + +;//此时x值为3

  

猜你喜欢

转载自www.cnblogs.com/dawn-sky/p/10693471.html