1. 自动转型
基本类型之间经常会需要进行数值类型转换,数值范围较小的数据类型可以自动转换为数值范围大的基本类型。
如图所示:
- 6个实心箭头:表示两个数值类型无信息丢失的转换。
- 3个虚线箭头:表示两个数值类型的转换可能会存在精度损失。
也就是说,147258369 是一个大整数,其包含的位数比 float 类型所能表达的位数多。
将这个整型数值转换为 float 是,会丢失精度。
int i = 147258369;
float f = i; // f = 1.47258368E8
因此,将两个不同数值类型进行算数操作时,会自动将两个类型转换为同一个类型,再进行计算。
自动转型:byte < short < char < int < long <