[英]Why use an integer versus a double?
我有相同功能的两个版本的代码:一个迭代的和一个递归的。 我想知道为什么返回类型是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
; 它会很好地工作。 但问题更多是“为什么?” 比“为什么不呢?”。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.