什么是JAVA中的强制类型转换

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。所以还是需要查好目标类型可以储存的范围。

经验分享 程序员 微信小程序 职场和发展