A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© shaoboguanzi 中级黑马   /  2015-1-23 17:42  /  1398 人查看  /  10 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

     

1、递归函数: 即自调用函数,在函数体内直接或间接的调用自己,即函数的嵌套是函数本身。

2、递归方式:递归调用有直接递归和间接递归两种方式。  

                A:直接递归:在函数中出现调用函数本身。

  B:间接递归:在A函数中调用B函数,然后在B函数中调用A函数实现递归。

3  、递归函数优点:递归的目的是简化程序设计,使程序易读。

4、递归函数的缺点:增加了系统开销,也就是说,每递归一次,栈内存就多占用一截

       应用:用递归实现阶乘是最好不过的了,这样可以有效地缩短代码

Java中的循环和递归的比较

递归是指函数在运行中不断的调用自己的一中现象。递归并不是程序的流程结构,而是一种程序设计的一种思路和实现方式。而且递归不是一种算法,只是实现一种算法的思想。递归可以简化代码的思维强度,缩短代码,因此在很多语言中都有应用。

用递归实现阶乘是最好不过的了,这样可以有效地缩短代码。下面的代码就是用递归实现。

import java.util.*;

public class Factorial {

    public static void main(String[] args){

        System.out.println(”Please enter a number…”);         Scanner in=new Scanner(System.in);         int input=in.nextInt();         factorial(input);

        System.out.print(factorials);     }

    private static void factorial(int n){            if(n>0){

            factorials*=n;             n- -;             factorial(n);   

     }   

  }


评分

参与人数 1技术分 +1 收起 理由
lwj123 + 1

查看全部评分

10 个回复

倒序浏览
为什么基础班的视频不讲递归呢?是不是不重要?
回复 使用道具 举报
哪里有递归详解吗?
回复 使用道具 举报
赞楼主一个,好详细
回复 使用道具 举报
淡看流光行远 发表于 2015-1-23 21:40
为什么基础班的视频不讲递归呢?是不是不重要?

我返现自学视频上没有的讲到的基础挺多的.
回复 使用道具 举报
淡看流光行远 发表于 2015-1-23 21:40
为什么基础班的视频不讲递归呢?是不是不重要?

我返现自学视频上没有的讲到的基础挺多的.
回复 使用道具 举报
我返现自学视频上没有的讲到的基础挺多的.
回复 使用道具 举报
我记得视频上有讲递归的!是讲10进制转换2进制的!
回复 使用道具 举报
xiaoyi 中级黑马 2015-1-24 21:22:05
9#
淡看流光行远 发表于 2015-1-23 21:40
为什么基础班的视频不讲递归呢?是不是不重要?

在io里面讲了的,遍历文件夹,文件夹下还有文件夹,这不就递归了
回复 使用道具 举报
基础班确实没听到啊
回复 使用道具 举报
赞一个赞一个赞一个赞一个
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马