请逐步解释递归

请逐步解释递归,第1张

请逐步解释递归

如果您使用的是IDE,则可以使用调试器,亲眼看看发生了什么。

无论如何,让我们尝试一下,当调用递归方法时会发生什么:您使用8(

printit(8);
)调用该方法:

  1. System.out.println(8);
    -> 8
  2. printit(8 /2 );
    ->以8/2 = 4再次调用方法
  3. System.out.println(4);
    -> 4
  4. printit(4 /2 );
    >以4/2 = 2再次调用方法
  5. System.out.println(2);
    -> 2
  6. printit(2 /2 );
    >用2/2 = 1再次调用方法
  7. return;
    ->继续上一个通话,(
    printit(4 /2);
  8. printit(2 /2 );
    >用2/2 = 1再次调用方法
  9. return;
    ->继续上一个通话,(
    printit(4 /2);
  10. 方法完成,继续上一个调用(
    printit(8 /2);
  11. printit(4 /2 );
    >以4/2 = 2再次调用方法
  12. System.out.println(2);
    -> 2
  13. printit(2/2);
    我们已经知道的呼叫不会产生任何结果。
  14. 现在我们在第一次调用一遍,
    printit(8);
    ,呼吁
    printit(8/2);
  15. System.out.println(4);
    -> 4
  16. 16等…


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5139583.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-11-17
下一篇 2022-11-17

发表评论

登录后才能评论

评论列表(0条)

保存