1. 算术运算符
      一元运算符:- (取反)、++(自增1)、–(自减1)
      这里要区分 a++ 和 ++a的区别
      a++ a 在前头,先赋值再自增;
      ++a a 在后头,先自增再赋值;
      二元运算符:+(加)、-(减)、(乘)、 /(除) 和 %(求余)
      算术赋值运算符:+=(加赋值)、-=(减赋值)、
      =(乘赋值)、/=(除赋值) 和 %=(求余赋值)
      a+ = 3; 相当于 a = a+3;
    2. 关系运算符
      ==、 !=、 >、 <、 >= 和 <=
    3. 逻辑运算符
      !(逻辑非)、&(逻辑与)、|(逻辑或)、&&(短路与)、||(短路或)
      & 和 && 的区别:
      a&b:运算符两侧都需要判断,例如 a 运算了是 false,b 运算了是 true,这个等式最后输出 false
      a&&b: 这种只要运算左侧就能判断这个等式的 true 或者 false 的结果,就不必运算右侧的了。例如 a 运算了是false,这个等式就直接输出 false 了,不用去执行右侧的 b,叫作短路与,能提高程序运行效率。
    4. 位运算符
      位运算是以二进制为单位进行运算的,操作数和结果数都是整型数据。
      Java 运算符 - 图1
      ps: 无符号右移仅被允许用在 int 和 long 整型类型,如果用于 byte 或 short,在数据位移前,会转换成 int 类型之后再进行位移计算。
    5. 其他运算符
      三元运算符:x:y?z
    6. 运算符优先级
      算术运算符 > 位运算符 > 关系运算符 > 逻辑运算符 > 赋值运算符
      有小括号的优先级最高。