数字的精度
byte<short<int<long<float<double
规则:
1、什么时候进行转换?
数据类型不一样,不能直接进行计算,需要转成一样的才可以进行运算。
2、怎么个转换法?
取值范围小的和取值范围大的进行运算,小的会先提升为大的数据类型,两个数进行加减乘除运算时,精度小的总是要向精度大的看齐(精度小的自动转换成精度大的类型)。
3、特殊情况
byte、short、char三种类型的数据在运算的时候,都会直接先升级为int型,再进行运算。
强制转换
如果把一个取值范围大的数值,赋值给取值小的变量,是不允许直接赋值的,如果一定要这么做就需要加入强制转换。
格式:目标数据类型 变量名 =(目标数据类型)被强制转换的数据;
如:byte a=10;
byte b=30;
计算a+b并将结果(result)强制转换成byte型:
byte rusult=(byte)(a+b);