递归:递归指的是在函数的定义当中调用自身函数的方法
举个例子:从前有座山,山里有座庙,庙里有个老和尚,正在给小和尚讲故事呢!故事是什么呢?"从前有座山,山里有座庙,庙里有个老和尚,正在给小和尚讲故事呢!故事是什么呢?‘从前有座山,山里有座庙,庙里有个老和尚,正在给小和尚讲故事呢!故事是什么呢?……’"其实递归思想就和这个故事相差不大。
语法格式如下:
public void digui()
{
digui();
}
public static void main(String args[])
{
digui();
}
总结:Java语言支持递归,即一个函数可以调用其自身。但在使用递归时,我们需要注意定义一个从函数退出的条件,否则会进入死循环。
递归函数在解决许多数学问题上起了至关重要的作用,比如计算一个数的阶乘、生成斐波那契数列,等等。
例子:
阶乘
import java.util.Scanner;
public class Jiecheng {
public static long jiecheng(long number)
{
if (number <= 0)
{
return 1;
}
else
{
return number*jiecheng(number-1);
}
}
public static void main(String args[])
{
Scanner input = new Scanner(System.in);
System.out.println("请输入需要计算阶乘的值:");
long number = input.nextLong();
System.out.println("阶乘为:"+jiecheng(number));
}
}
斐波那契例子请参考我的另外一篇博客:斐波那锲