Scala第十五章节(递归的相关概述、Scala阶乘案例、Scala斐波那契数列案例、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 参考代码

//案例: 求5的阶乘.
object ClassDemo01 {
   
//1. 定义方法, 用来求数字n的阶乘.
def factorial(n:Int):Int = if(n == 1) 1 else n * factorial(n - 1)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值