自动类型转换。
好比生活中有两个水杯,一个大的一个小的,如果将装满水的小杯中水倒入空的大杯,是可以的,类似于这样的场景在java中称之为自动类型转换
①在整个表达式中,如果有double数据类型的话,则整个表达式的结果会自动的提升为double类型
②在自动类型转换的表达式中数据类型需要兼容
如:都是数值型
③目标类型要大于原类型
强制类型转换
好比生活中有两个水杯,一个大的一个小的,如果将装满水的大杯中水倒入空的小杯,是可以的但是会溢出,类似于这样的场景在java中称之为自强制类型转换
数据类型 变量名=(数据类型)(表达式);————是先运算表达式,然后将结果转换
如:int second=(int) (first+duo);
或
int second=(int) (first)+(int)(duo);————先将first转换为int类型在计算,最后将结果转换为int类型
缺点:丢失精度,慎用(double转int 丢失的是小数点后面的所有值不是四舍五入
数据溢出
两处代码对比我们可以看出区别在哪。
在字节比较上 int>byte,所以 int 能存放的数据不一定能全部存放于 byte 中。
数据所占的存储空间远超预期的存储界限,如果不做判断就会导致数据溢出。
在编写程序时一定要注意!!!