Java程序中出现运算过程时只有同类型数据才能进行,如参与运算的数据类型不同时则会发生自动类型转换,自动类型转换的原则为:不发生精度丢失。即小范围数据类型向大范围数据类型进行转换,若出现大范围数据类型向小范围数据类型进行转换,则会因为小范围数据类型无法完全接收大范围数据类型数据内容,即出现丢失进度,java会对其进行报错,无法通过编译。
下面是java基本数据类型的转换方向:
byte->short->int->long->float->double
char->int->long->float->double
运算符:
赋值运算符:= 将右边的数值赋值给左边的变量,若类型不相同会进行自动类型转换
E1 op= E2 带运算的赋值运算符,运算公式: E1 op= E2 相当于 E1 = (T)((E1) op (E2)),T是E1类型
例:byte b = 1;b += 1; 等价于 byte b = 1;b =(byte)(b + 1);
++,-- 自加,自减
算数运算符:+ 加 , - 减 , * 乘 , / 除 , % 取余,左右数据类型必须相同,不相同时会进行自动类型转换,运算结果与参与运算的数据类型相同
比较运算符:>,<,==,!=,>=,<= 比较左右值的关系,结果为boolen类型数据
位运算符: >> ,<<
逻辑运算符:&,&&,|.||,!