数据类型转换
精度大可以自动表示精度小,整形不足int范围,运算时会自动转换成int运算,是自动向上转型。
精度小的不会自动表示精度大的,向下转型不会自动转,会精度丢失,会溢出,需要强转。
l 自动类型转换
不会出现问题的类型转换,编程语言可以做自动类型转换,比如低精
度的数字向高精度的数字转换。
自动类型转换可以发生在算数运算,也可以发生在赋值。
l 数值精度顺序:double>float>long>int>short>byte
l char 可以转换为 int
char 可以转换为 int
虽然同样是两个 byte,但是因为 char 是无符号数,值域超出了 short 可以表示的范围,
所以不可以自动转为 short。
l 强制类型转换
可能出现问题的类型转换,需要使用强制类型转换,比如高精度数值
向低精度数值转换。
强制类型转换也是操作符
语法是用小括号括起来的目标类型放在被转换的值前面
强制转换会造成数据精度丢失
l 数值溢出
数值计算一旦溢出,结果将失去其原有意义。比如,两个正数
会加出负数。
要对能够处理的值有大概的估计。
评论