铸造变量会改变价值吗?

时间:2013-03-30 23:02:11

标签: java casting

将Double转换为Int时,请说

 double X = 2.5; 
 int Y = (int)X;

我可以稍后使用Double X,它仍然包含.5?或者是小数点后永远丢失的值?我可以添加到Double X,比如.1增量,并继续将值转换为int Y作为int,但是int Y只取整数值吗?说它会取2倍,10倍,然后3倍,等等。

它与数组一样吗?将double数组转换为int时,是否在数组中更改了值?

谢谢。

3 个答案:

答案 0 :(得分:2)

它不会更改值,因为您正在执行此操作:

 int Y = (int)X;

所以,你在Y中制作东西并为此目的使用变量X,但你永远不会改变它。顺便说一句,有了这些东西,你可以轻松地编写一个程序来看看会发生什么。

答案 1 :(得分:1)

在双值X中将X转换为int将不会从X中删除浮点。

答案 2 :(得分:1)

首先,Double和double意味着不同的东西。 Double是一个包装对象,并且尝试强制转换为整数将失败。

double和int是原语,从double到int的转换不会改变double中的值,所以你应该有效。