1.操作符作用于操作数
操作符具有优先级,其优先级决定了各部分的计算顺序
2.作用于基本类型的操作符有很多
其中要注意:
(1)"+":加法运算
当参与运算时,操作符两边有一个进行操作的值是字符串类型,则进行字符串拼接
(2)“=”:赋值运算
将右边的值赋给左边
左边必须是变量,右边可以是常量,变量,表达式
基本类型的赋值,是直接将内容进行复制,因为基本数据类型存储的也是实际数值
对象赋值:只是存储了对象的地址,因为对一个对象操作,其实是操作对象的地址
(3)++i:先运算后赋值
i++:先赋值后运算
(4)按位运算符
主要用于直接操作硬件,效率较高
(5)移位运算符
只能用于处理整型数据
有符号:指符号为正,则在高位补0,符号为负,则在高位插1
无符号:指无论正负,高位都插0
因为该运算符只能用于处理整型数据,所以char,byte,short的数值要进行移位处理,则要先进行转化为整型
3,.部分作用于对象的运算符
(1)当“==”和“!=”作用于对象时,用于比较对象的地址是否一样
(2)equals(),作用于对象,默认是比较两个对象的地址是否一样,除非重写类中的equals方法制定比较规则
4.类型转换
java存在强制类型转换和自动转换机制
自动转换:指在运算时,存储空间小的类型会自动向存储空间大的类型转换,精度小的会向精度大的转换
byte-->short-->int
char-->int
int--->long--->float--->double
窄化转换:指存储空间大的类型向小的转换,有时会出现精度丢失,但是我们有的时候又必须用时,必须注意尾数四舍五入还是截取
eg:float或double转换为int时,默认是舍弃小数点后的数字
如果要四舍五入位,那么就要借助Math对象的round()方法