1.数组回顾
2.字符串相关方法回顾
3.循环回顾
一、函数(方法)
1.函数的定义
封装一段可执行的代码块
2.为什么要用函数
- 如果重复执行某段代码,就要重复写很多次
- 重复代码多了不容易阅读,管理和维护
3.函数的基本结构
4.函数调用
static表示修饰符,还有很多修饰符,这里static表示静态方法,后面我们会学到
5.形式参数
6.练习题 求真素数
7.方法中的参数数组
8.练习题
-
定义一个函数Max,用来取得一个数组中的最大值
-
定义一个函数getDivisor,用来取得一个数字的所有因子,把所有因子返回
9.函数重载(Overload)
有时候我们可能需要使用同一个函数,但是传入的参数类型不一样,或者函数体中只有细微变动,这样我们可以使用函数重载的方式,根据传入参数的类型执行对应的函数
10.函数中返回多个参数(补充)
- 返回同个类型的值,我们可以返回一个数组来解决多个同类型返回值的需求
- 但是返回多个不同类型的值的时候,我们可以使用out参数
- 注意:out参数在内部必须要给其赋值
- 关于out参数的练习题
- 编写一个方法来判断用户输入用户名和密码是否正确,返回用户一个登录结果,并且还要单独返回一个登录信息,如果用户名错误,除了返回登录结果之外,还要返回一个“用户名错误”,“密码错误”的提示信息
11.ref参数
- 作用:给形参前面加一个ref,可以将外部变量带入到函数中进行赋值改变,然后将改变后的值在传出来赋值给传进来的变量名,ref参数要求变量外部必须赋值,方法内部可以不赋值
二、递归函数
1.递归函数的理解
递归就是,函数中调用自己,这样就会进入一直调用自己的套娃行为,所以递归一般会有一个出口,这个出口的目的就是停止调用自己
2.递归的简单写法举例
3.练习题1 求斐波那契数列
- 提示:已知 1 1 2 3 5 8 13 21 34... 我们发现后面数是前两个数的和,我们称这种数列为斐波那契数列
- 题目要求:输入n,求出n项的斐波那契数列
- 例:输入4 输出 1 1 2 3
4.练习题2
有关系式1 * 1+2 * 2+3 * 3+...k * k<2000,编一个程序,求出满足此关系的k的最大值,利用递归和循环解决这个问题