JAVA自学之旅(六)
1.方法递归调用
递归:方法自身调用自身(能不用尽量不用)
递归必须要设置结束条件,不然绝对会有栈内存错误。
即使设置了结束条件,也可能会有错误。
2.计算1到n加法的两种方式
public class Test1{
public static void main(String[] args){
int n=5;
int Value=sum(n);
System.out.println(Value);
}
public static int sum(int n){
if (n==1){
return 1;
}
else{
return n+sum(n-1);
}
}
}
计算1到n所有数的和,实际上,当n=1的时候,加法才开始正式进行数的计算。
n+(n-1)+(n-2)…从最右边开始
public class Test1{
public static void main(String[] args){
int n=7;
int Value=sum(n);
System.out.println(Value);
}
public static int sum(int n){
int x=0;
for(int i=1;i<=n;i++)
x=x+i;
return x;
}
}
从1开始加,一直加到n结束,两种不同的思路。并且第一种使用了递归,第二种没有。
递归流程