显式类型转换
所谓隐式类型转换是指系统自动进行的类型转换。隐式类型转换分为两种情况,下面分别进行介绍。
1、不同类型的数据进行运算
不同类型的数据进行运算时,系统会自动将低字节(占内存小的数据类型)数据类型转换为高字节(占内存大的数据类型)数据类型,即从下往上转换。例如,将int类型和double类型的数据相加,系统会将int类型的数据转换为double类型的数据,再进行相加操作,具体示例如下:
int num1=12;
double num2=10.5;
num1+num2;
在上述代码中,由于double类型的取值范围大于int类型,将int类型的num1与double类型的num2相加时,系统会自动将num1的数据类型由int转换为double类型,从而保证数据的精度不会丢失。
2、赋值转换
在赋值类型不同时,即变量的数据类型与所赋值的数据类型不同,系统会将“=”右边的值转换为变量的数据类型再将值赋给变量,例如给一个int类型的变量赋值为浮点数,代码如下所示:
int a = 10.2;
以上代码将浮点数10.2赋值给int类型的变量a,编译器在赋值时会将10.2转换为int类型的10再赋值给a,a最终的结果为10。这种在赋值时发生的类型转换称为赋值转换,它也是一种隐式转换。