Scala递归概述及案例

章节目标
1. 了解递归的相关概述
2. 掌握阶乘案例
3. 掌握斐波那契数列案例
4. 掌握打印目录文件案例

1. 递归

递归指的就是 方法自己调用自己的情况 . 在涉及到复杂操作时 , 我们会经常用到它 . 在使用递归时 , 要注意以下三点 :
1. 递归必须有出口 , 否则容易造成 死递归 .
2. 递归必须要有规律 .
3. 构造方法不能递归 .
4. 递归方法必有 返回值的数据类型 .
例如 : 下述的代码就是递归的写法
def show() = {
show()
}

2. 案例一: 求阶乘

2.1 概述

所谓的阶乘其实指的是 数字 1 到该数字的累乘结果 , 例如 5 的阶乘就相当于 5 * 4 * 3 * 2 * 1 , 4 的阶乘就相当于
4 * 3 * 2 * 1 , 根据上述的描述 , 我们可以得出两个结论 :
1. 阶乘公式为 ( 例如 : 求数字 n 的阶乘 ): n! = n * (n - 1)!
2. 1 的阶乘等于 1, : 1! = 1

2.2 需求

计算 5 的阶乘 .

2.3 参考代码

2.4 内存图解

概述

阶乘图解

3. 案例二: 斐波那契数列

3.1 概述

传说在罗马时期有个意大利青年叫 斐波那契 , 有一天他提出了一个非常有意思的问题 , 假设 :
1. 一对小兔子一个月之后会成长为一对大兔子 .
2. 每一对大兔子每个月都会生一对小兔子 .
3. 假设所有兔子都不死亡的情况下 , : 1 对小兔子 , 1 年之后会变为多少对兔子 ?

3.2 思路分析

: 已知数列 1, 1, 2, 3, 5, 8, 13..., : 12 个数字是多少 ?

3.3 参考代码

4. 案例三: 打印目录文件

4.1 需求

1. 定义 printFile(dir:File) 方法 , 该方法接收一个文件目录 , 用来打印该目录下所有的文件路径 .
2. main 方法中测试 printFile() 方法 .

4.2 目的

考察 递归 , Java File 相关内容 .
注意 : 因为 Scala 是依赖 JVM , 所以 Java 中的类库 , Scala 也可以无缝调用

4.3 参考代码

 

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值