从低级类型向高级类型的互转换,系统将自动执行,程序员无需进行任何操作。这种类型的转换称为隐式转换。类型按精度从低到高排列的顺序为 byte<short<int<long<float<double。
int x = 50; //声明 int 型变量x
float y = x; //将 x 的赋值给 y,y的值为50.0
隐式类型转换规则:
操作数 1 的数据类型 | 操作数 2 的数据类型 | 转换后的数据类型 |
byte、short、char | int | int |
byte、short、char、int | long | long |
byte、short、char、int、long | float | float |
byte、short、char、int、long、float |
double | double |
当把高精度的变量的值赋给低精度的变量时,必须使用显式类型转换运算(又称强制类型转换)。
语法:(类型名)要转换的值
int a = (int)45.23; //此时输出 a 的值为 45
long y = (long)456.6F; //此时输出 y 的值为456
int b = (int)'d'; //此时输出 b 的值为100
执行显式类型转换时可能会导致精度损失。除boolean类型外,其他基本类型都能以显式类型转换的方法实现转换。