在学习递归方法之前,我们首先得知道什么是递归?
什么是递归方法呢?通俗易懂的说就是方法本身调用自身。
可以设计模型为
a( ){
a( );
}
方法递归的调用代码
public class digui
{
public static void main(String[] args){
System.out.println("dosome开始");
dosome();
System.out.println("dosome结束");
}
public static void dosome(){
System.out.println("dosome开始");
dosome();
System.out.println("dosome结束");
}
}
运行以上代码后可以发现。结束的输出语录始终得不到执行。还会产生错误,而我们的代码没有错误提示,这是什么原因呢?原因就在于递归是在栈内存中。而递归一直在运行,就造成了栈内存溢出,所以在开发过程中,能不用尽量不用。要使用也必须加结束条件。
使用递归方法求1-100的和
public class sumnnn
{
public static void main(String[] args){
int g =sum(100);
System.out.println(g);
}
public static int sum(int n){
if(n==1){
return 1;
}
return n+sum(n-1);
}
}
?
?
|