数据类型的转换
数据类型的转换
自动类型转换(隐式类型转换)
自动类型转换发生在从一个小范围的数值类型(比如 int)赋值给一个更大范围的数值类型(比如 long)时。这种转换是自动进行的,不需要程序员显式指定。转换规则如下:
- 从
byte、short或char到int是自动的。 - 从
int到long、float或double是自动的。 - 从
long到float或double是自动的。 - 从
float到double是自动的。
强制类型转换(显式类型转换)
当需要将一个数值类型转换为一个更小范围的数值类型时,必须进行强制类型转换。这种转换可能会损失精度,并且可能需要进行类型转换的程序员显式指定。转换规则如下:
- 从
double到float。 - 从
float到long、int、short、byte或char。 - 从
long到int、short、byte或char。
注意事项
- 在进行强制类型转换时,需要考虑到精度损失和潜在的数据溢出问题。
- 强制类型转换可能不会在编译时检测到错误,但运行时可能会遇到问题,如
int到byte可能会丢失高位数据。 - 在进行浮点数到整数的转换时,小数部分将被截断,而不是四舍五入。
正确理解和使用数据类型转换对于编写健壮的 Java 程序至关重要。

浙公网安备 33010602011771号