好的,我是编码的新手,所以我对一切都不熟悉。这是我的问题:
为什么是.nextInt();即使名称是.nextInt();?
,也会处理一个doubledouble max = scan.nextInt();
这有效,但为什么?
答案 0 :(得分:0)
答案 1 :(得分:0)
句点之后的事物(.nextInt()
)称为方法或函数。
现在问你的实际问题:
方法.nextInt()
将返回一个整数,然后将其内部转换为double
,因为如果您明确要求,int
每个double
也是double max=
(通过说{{1}})
另见:Why does Java implicitly (without cast) convert a `long` to a `float`?
答案 2 :(得分:-1)
正如其他人所指出的,这是implicit cast的示例 - 您可以将int
分配给double
,并且它会自动进行类型转换(类型已更改)你。
这里的基本想法是,将int
分配给double
并不会造成任何严重的伤害(除了消耗更多的内存)。
请注意,反之为 not true - 可能在将double
转换为int
时会造成严重伤害,因此没有隐含从double
投射到int
。