算术运算符
单目:+(取正) -(取负) ++(自增) –(自减)
双目:+ - * / %
三目:x>y?true:false,x大于y区true值,否则区false的值
关系运算符
等于==、不等于!=、大于>、小于<、大于等于>=、小于等于<=
位与逻辑运算符
&(与):将两个数进行二进制比较,当相同的位上均为1时结果为1,否则为0
~(非):对一个数的二进制的每一位取非运算,0变1,1变0
|(或):两边操作数有一位为1时取1,否则为0
^(异或):两边的位不同时为1,否则为0
&& (与)、!(非)、||(或)
赋值运算符
=、+=、 -=、*=、/=、%= 等
instanceof
左面的操作元是一个对象,右面是一个类或接口。当左面的对象是右面的类(或右边类的子孙类)创建的对象、或者是右边接口的实现类(或实现类的子孙类)的对象时,该运算符运算结果是true,否则是false。 (重写equalse方法时常用到)
位移运算符
带符号左移<<:2<<1为4,-2<<1为-4
带符号右移>>:2>>1为1,-2>>1为-1
无符号右移>>>:2>>>1为1,-2>>>1为2147483647
注意到>>>的负数运算很奇怪,这是因为java的负数的二进制表示所致。