数据类型转换是将一个数据值从一种类型转换为另一种类型的过程,表达式中出现不同类型数据进行运算时就会发生数据类型转换,Java的数据类型转换有隐式类型转换和显式类型转换2种方式。
一、自动类型转换
隐式类型转换又称自动类型转换,是指从低级类型向高级类型的转换,此时系统将自动进行。
举例:
int score1 = 82;
double score2 = score1;
System.out.println(score2);
运行结果:
82.0
自动类型转换是需要满足特定的条件:
1、目标类型能与源类型兼容,如 double 型兼容 int 型,但是 char 型不能兼容 int 型
2、目标类型大于源类型,如 double 类型长度为 8 字节, int 类型为 4 字节,因此 double 类型的变量里直接可以存放 int 类型的数据,但反过来就不可以了。
二、强制类型转换
显式类型转换又称强制类型转换,当需要将一个高级类型的数据值转换为低级类型数据值时,必须使用显式类型转换,语法格式为:(数据类型)表达式 。
举例:
double avg1 = 75.8;
int avg2 = (int)avg1;
System.out.println(avg1);
System.out.println(avg2);
运行结果:
75.8
75
可以看到,通过强制类型转换将 75.8 赋值给 int 型变量后,结果为 75,数值上并未进行四舍五入,而是直接将小数位截断。
强制类型转换可能会造成数据的丢失哦,同学们在应用时一定要慎重哦!