最后一行是为什么他在双击中使用类型转换? [关闭]

问题描述 投票:-4回答:1

我是java的新学习者这只是代码的一部分,我需要知道为什么他在这里使用类型转换以及为什么特别使用int?

double anynumber =(int)32 / 8.5;

java casting int double typecast-operator
1个回答
0
投票

这个:。

(int) 32/8.5;

32转换为整数而不是除以整数的结果, 因为铸造的优先级高于除法。 但这完全没必要,因为32已经是一个整数。 所以这:

double anynumber =(int) 32/8.5;
System.out.println(anynumber);

将打印:

3.764705882352941

就像铸件不在那里一样。 但是这个:

double anynumber =(int) (32/8.5);
System.out.println(anynumber);

将打印:

3.0

因为它通过截断十进制数来创建整数,从而将转换应用于除法的结果。 所以要回答你的问题,如果你在书中或网上找到这行代码, 它没有做任何不同于简单的事情:

double anynumber = 32/8.5;
© www.soinside.com 2019 - 2024. All rights reserved.