Java数据类型转换浅析
Java数据类型转换分为两种:自动类型转换和强制类型转换。
数据类型转换的关键是数据类型相应的表数范围大小
1、自动类型转换:
概念:小范围数据类型会自动转化成大范围数据类型
实例:
1 int a=1000; 2 long b=a;
1 float a=300f; 2 double b=a;
2、强制类型转换
概念:大范围数据类型需要强制转化才能过渡到小范围数据类型
实例:
1 int a=100; 2 byte b=(byte)a;
1 double a=1000; 2 float b=(float)a;
3、特例
可以将整型常量(int)直接赋值给byte,short,char类型的变量,而不需要强制类型转换,但要求常量值不超出相应数据类型的表数范围
实例:
1 byte a=127; //合法 2 byte b=1000; //不合法,超出byte表数范围
4、如下,小编采用示意图为大家展示java中基本数据类型之间的转换关系(黑实线表示可以自动类型转换,红虚线表示转换过程可能损失精度)
注意:从int变量的值为千万级(8位数字) 开始,当变量转换成float类型时开始损失精度,而转换成double却不会损失精度