@[TOC]
0 写在前面
在必要的时候,int类型会自动转变为double类型,但是另一方面,业务逻辑上有时候需要double类型转变为int。
在 Java 中,允许进行这种数值之间的类型转换,当然有可能会丢失一些信息。这种可能损失信息的转换要通过强制类型转换 (cast)来完成。
1 强制类型转换
格式`(目标类型) 数值/变量;
举例:
double x = 5.98;
int y = (int) x;//y的值为5
结合数学函数的舍入运算:
double x = 5.98;
int y = (int) Math.round(x);//y的值为6
因为存在信息丢失的可能性,是在编译时不可确定的,所以使用显式的强制类型转换。
2 写在末尾
如果试图将一个数值从一种类型强制转换为另一种类型,而又超出了目标类型为表示范围,结果就会截断成一个完全不同的值。例如,(byte) 300的实际值为44。所以还是需要查好目标类型可以储存的范围。