• 运算符:对字面量或者变量进行操作的符号
  • 表达式:用运算符把字面量或者变量连接起来,符合Java语法的式子就可以称为表达式
  • 算数运算符
    • +、-、*、/、%
    • 在代码中,只有整数参与的计算,结果只能得到整数,如果有小数参与运算,结果可能不精确。
    •  将一个数拆分为各位,十位、百位..............
      • 公式总结:
        • 个位:数值%10
        • 十位:数值/10%10
        • 百位:数值/100%10
        • 千位:数值/1000%10 
      • 数字进行运算时,数据类型不一样不能运算,需要转成一样的,才能运算                                                                                                                                                                                                            
  • 自增自减运算符
    • ++或--在前,先++或--,再赋值
    • ++或--在后,先赋值,再++或--
  • 赋值运算符
    • =、+=、-=、*=、/=、%=,底层都隐藏了一个强制类型转换
  • 关系运算符
    • ==、!=、>、>=、<、<=,左右两边只能是布尔数据类型,结果也只能是布尔类型
  • 逻辑运算符
    • 逻辑与&,逻辑或|、逻辑异或^(相同为假,不同为真)、逻辑非!
  • 短路逻辑运算符:
    • 短路与(&&)、短路或(||)
  • 三元运算符
    • 关系表达式?表达式1:表达式2
  • 运算符优先级

  • 其他运算符:
  • &      逻辑与           有0为false,全1为true
  • |        逻辑或           全0为false,有1为true
  • <<     左移              向左移动,低位补零
  • >>     右移              向右移动,数值位补零,高位补1或0(原来是正数补0,原来是负数补1)
  • >>>   无符号右移    向右移动,高位补0