java运算符
1.分类
算术运算符 (++ --)
用法:
1.单独使用(常用) 2.参与运算
规律: 如果++/--在操作数的后面就先赋值,再自加1或者自减1
如果++/--在操作数的前面就先自加1或者自减1再赋值
赋值运算符
一般形式
=把右边的值赋值给左边
扩展形式----底层都默认添加了强制类型转换
+= -= *= /= %= &=(按位与等) |=(按位或等)
^=(按位异或等) >>=(右移等) <<=(左移等) >>>=(无符号右移等)
比较(关系)运算符
比较运算符---结果一定是布尔值
==(恒等于) !=(不等于) > < >= <=
逻辑运算符
主要用于连接布尔表达式或者布尔值的符号
表达式:用于连接变量或者数据且符合java语法的式子 a+b(算术表达式)
&&(双与) ||(双或) (在开发的时候常用)
&&和&的运算规律一致,如果&&左边的布尔值是false,右边就不在执行----短路
|| 和 | 的运算规律一致,如果||左边的布尔值是true右边不执行----短路
结论:
&: 遇见false则false
|: 遇见true则true
^: 相同则false不同则true(吸铁石原理)
!: 如果是偶数个就和原来不变是奇数个就取反
位运算符:
所有的数据都要转成二进制补码
操作 & 遇0则0
操作 | 遇1则1
操作 ^ 相同则0不同则1
操作 ~ 所有位按位取反
左移---->往左移动几位就要在最右边(最低位)补几个0.
右移---->如果是正数右移几位就在最左边(最高位)补几个0,如果是负数右移几位就在最左边(最高位)补几个1
无符号右移---->无论政府都王右移几位最高位就补几个0.
三目(元)运算符
表达式?表达式值1:表达式值2;
执行流程:先去计算表达式的值,如果是true就把表达式值1进行返回,如果是false就把表达式值2进行返回.
3.优先级
() ~ ++ -- ! * / % + - << >> >>> 关系运算符
逻辑运算符 & | ^ 三元运算符 赋值运算符