运算符 用于指明对于操作数的运算方式
按照运算符的功能来分类
算术运算 :+ - * / %(取余 取模); + +(自增) - -(自减)
赋值运算 : = 赋值符号,将 = 右边的内容(值 引用)存入左边的变量空间
+=(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