gpt4 book ai didi

java - 为什么使用整数而不是 double ?

转载 作者:太空宇宙 更新时间:2023-11-04 13:13:30 24 4
gpt4 key购买 nike

我有同一函数的两个版本的代码:一种迭代,一种递归。我想知道为什么返回类型是int。它能为你提供什么?为什么返回类型不能是double

public static int iterative(int n){
int var=1;
int var1=1;
int var2=1;

if (n<=1) {
return 1;
}

for(int i=2;i<=n;i++){
var=var1+var2+1;
var2=var1;
var1=var;
}

return var;
}

private static int recursive(int n){
if (n<=1){
return 1;
}

return rec(n-1)+rec(n-2)+1;
}

public static void main(String[] args) {
System.out.println(iter(10));
}

最佳答案

您当然可以定义该函数来返回一个double,就像您可以定义它来返回一个String一样。这些格式能够表示您将返回的值,但没有理由这样做。

  • 您正在计算的函数(修改后的斐波那契数列)是在整数集上定义的 - 事实上,仅是正整数。它永远不会产生无法用 int 表示的值。
  • double(和String)在空间和计算方面都更昂贵。
  • 返回类型向其他开发人员强烈指示了他们期望得到什么样的数据。返回仅包含 1, 2, 3, ...double 在某种程度上会产生误导。

所以如果你愿意的话可以使用double;它会工作得很好。但问题更多的是“为什么?”而不是“为什么不?”。

关于java - 为什么使用整数而不是 double ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33745669/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com