一、函数概述
1. 函数理解
- 概念:函数是一段具有特定功能的代码块,可以通过其名称进行重复调用。
2. 函数使用流程
- 定义:确定函数的功能和名称。
- 声明:确定函数名称。
- 实现:编写函数的功能代码。
- 调用:通过函数名称使用其功能。
3. 函数定义位置
- 函数应定义在类内部,但位于其他函数之外的位置,通常与
main
函数并列。
二、函数的基本使用
1. 函数的定义
public static void 函数名() {
// 函数实现
}
- 声明:
public static void 函数名()
- 实现:
{}
内包含具体功能代码。
2. 函数的调用
- 语法:
函数名();
三、参数的使用
1. 参数理解
- 概念:参数是函数与调用者之间交换的数据。
2. 形式参数(形参)
- 定义:函数与调用者的约定,指明调用者需传递的数据类型和数量。
- 示例:
public static void 函数名(数据类型 变量名, 数据类型 变量名) {
// 函数实现
}
3. 实际参数(实参)
- 作用:为形参赋值。
- 注意:实参与形参的数量、顺序、数据类型必须一致。
四、函数的返回值
1. 返回值理解
- 概念:函数与调用者之间的数据交互,函数提供结果给调用者。
2. 返回值语法
public static 返回值类型 函数名(形参列表) {
// 函数实现
return 返回值;
}
3. 返回值类型
- void:无返回值。
- 基本数据类型或对象:有返回值,需返回对应类型的数据。
4. 返回值处理
- 方式一:定义同类型变量接收返回值。
- 方式二:直接使用返回值。
5. return
关键字
- 作用:返回值给调用者,结束当前函数。
五、函数的执行机制
1. 执行理解
- 程序从
main
函数开始执行,遇到函数调用时,先执行被调用函数,完成后返回原处继续执行。
2. 函数的嵌套调用
- 被调用函数内部再次调用其他函数。
六、递归调用
1. 递归理解
- 函数内部调用自身。
2. 注意事项
- 必须为递归设置出口,避免无限递归导致
java.lang.StackOverflowError
(栈溢出)。
3. 递归思想
- 递进:逐步简化问题,直至达到出口。
- 回归:基于出口结果,逐层向上计算,直至顶层。
4. 递归案例:计算阶乘
package demo;
public class Test6 {
public static void main(String[] args) {
int r = jieCheng(8);
System.out.println(r);
}
public static int jieCheng(int n) {
if(n == 1 || n == 0) return 1; // 出口条件
return n * jieCheng(n - 1);
}
}
以上是对Java语言中函数相关知识的总结,包括函数的定义、调用、参数传递、返回值处理以及递归调用等内容。理解和掌握这些概念对于编写高效、模块化的Java程序至关重要。