运算符 用于指明对于操做数的运算方式java
按照运算符的功能来分类spa
算术运算 :+ - * / %(取余 取模); + +(自增) - -(自减)对象
赋值运算 : = 赋值符号,将 = 右边的内容(值 引用)存入左边的变量空间 blog
+=(x+=2;至关于x=x+2;) -= *= /= %=it
关系运算(比较) : > >= < <= != == (对象 instanceof 类) 比较运算符的最终结果是boolean类型,也就是true或falseclass
逻辑运算 : & (逻辑与)(先后两个条件同时知足,结果才为true)、 | (逻辑或)(先后两个条件有一个知足最终结果就为true)、^ (逻辑异或)(先后两个结果不一致,结果为true)、变量
! (逻辑非)(将原来结果取反)、&& (短路与)(若是前一个条件为false,则直接判定结果为false,再也不对第二个条件进行判断)、|| (短路或)(当第一个条件为true,则再也不对第二个条件进行判断)
引用
位(bit)运算 : & (按位与)、 | (按位或)、^ (按位异或)、 ~ (按位取反)、 << (按位左位移)、 >> (按位右位移)、 >>> (按位右位移 无符号 不保留表明正负号的bit) 十进制后按字面意思进行计算;di
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