Java_基础—递归

╰+哭是因爲堅強的太久メ 2022-06-11 00:58 218阅读 0赞
  1. package com.soar.chario;
  2. public class Demo8_Digui {
  3. /*
  4. * 递归:方法自己调用自己
  5. * * 5的阶乘 5!= 5*4*3*2*1
  6. *
  7. * 5!=5*fun(4)
  8. * 4!=fun(4)=4*fun(3)
  9. * 3!=fun(3)=3*fun(2)
  10. * 2!=fun(2)=2*fun(1)
  11. * 1!=fun(1)=1
  12. * 递归的弊端:不能调用次数过多,容易导致栈内存溢出
  13. * 递归的好处:不用知道循环次数
  14. *
  15. * 构造方法是否可以递归调用?
  16. * 构造方法不能使用递归调用
  17. *
  18. * 递归调用是否必须有返回值?
  19. * 不一定(可以有,也可以没有)
  20. */
  21. public static void main(String[] args) {
  22. //forFunction();
  23. System.out.println(fun(5));
  24. }
  25. private static void forFunction() {
  26. int result = 1;
  27. for (int i = 1; i <= 5; i++) {
  28. result = result * i;
  29. }
  30. System.out.println(result);
  31. }
  32. public static int fun(int num){
  33. if(num == 1){
  34. return 1;
  35. }else{
  36. return num*fun(num-1);
  37. }
  38. }
  39. }

发表评论

表情:
评论列表 (有 0 条评论,218人围观)

还没有评论,来说两句吧...

相关阅读

    相关 JAVA基础的使用

    java中我们很多时候为了得到最终的结果需要一直做某件事无数次,我们可以使用for 、while的循环来完成它,但是有些时候我们不知道需要多少次循环才能结束,java中的递归可

    相关 基础思想

    有个朋友刚刚在学习java,刚学了一个月,他虽然脑袋很大(不是针对所有人,只是针对他),但是说自己总是在解题的时候找不到思路。他在学习时遇到了几道关于递归的小题,今天简单聊一下