隐式转换
隐式转换也叫自动类型提升。就是把一个取值范围小的数据或者变量,赋值给另一个取值范围大的变量。此时不需要我们额外写代码单独实现,是程序自动帮我们完成的。简单来说就是小的给大的,可以直接给。
两种提升规则:
取值范围小的,和取值范围大的进行运算,小的会先提升为大的,再进行运算。
byte、short、char三种类型的数据在运算的时候,都会直接先提升为int,然后再进行运算。
理解隐式转换从大到小的关系:
byte short int long float double
例如:
java
byte b = 100;
int i = b;//可以成功赋值
因为byte的取值范围是小的,int的取值范围是大的,在底层进行了隐式转换,不需要我们额外写代码单独实现,是可以直接赋值。
强制转换
如果要把一个取值范围大的数据或者变量赋值给另一个取值范围小的变量。是不允许直接操作。如果想要直接操作的话,就需要加入强制转换。
目标数据类型 变量名 = (目标数据类型)被强转的数据;
总结:写在小括号中的就是想要转换的类型。强制转换有可能会导致数据发生错误。(数据的精度丢失)