函数
习题链接
Java利用函数递归对“斐波那契数列”的实现
Java计算一个数的阶乘
文章目录
1.函数的概念
概念:实现特定功能的一段代码,可反复使用
注意:
- 要将需要在多个位置反复使用的代码,定义在函数里调用,以避免代码的冗长
- 一个类中可以定义多个方法,方法之间属于并列关系,不可嵌套
- 一个方法只能做一件事
- 方法的本质是行为
定义语法:
public static void 函数名称(){
//函数主体
}
优点:
- 减少代码的冗余
- 提高复用性
- 提高可读性
- 提高可维护性
- 方便分工合作
2.函数定义的位置
位置:函数定义必须在类的内部,与main方法并列:
public class Function {
//main函数
public static void main(String[] args) {
}
//定义的函数
public static void 函数名称() {//函数名称一定要遵循命名规范
//函数主体(功能主体)
}
}
3.方法的调用
调用方式: 在需要执行方法代码的位置,通过函数名称进行调用
public class CallFunction {
//main函数
public static void main(String[] args) {
//实现函数的多次调用
函数名称();
//其他逻辑代码......
函数名称();
}
//定义的函数
public static void 函数名称() {//函数名称一定要遵循命名规范
//函数主体(功能主体)
}
}
函数的多级调用:
public class CallFunction {
//main函数
public static void main(String[] args) {
//实现函数1的调用
函数名称1();
//其他逻辑代码......
}
//定义的函数1调用函数2
public static void 函数名称1() {//函数名称一定要遵循命名规范
//函数主体(功能主体)
函数名称2();
//其他逻辑代码......(不一定有其他逻辑代码,看功能的实现问题)
}
//定义的函数2
public static void 函数名称2() {
//函数主体(功能主体)
}
}
注:
-
在调用函数时,会优先执行函数内部代码,结束后,返回函数调用处,继续向下执行
-
调用函数时一定要观察 这个函数有没有返回值(有返回值需要对返回值进行处理)
-
函数不管以什么方式去调用,一定会被执行
-
方法可以在方法中调用(比如主函数(main函数))
4.函数的参数
概念:调用方法时,所传入的数据被称为“参数”
形参与实参:
-
定义语法:
public static void 函数名称(形式参数1,形式参数2){ //函数主体 }
调用语法:
函数名称(实际参数1,实际参数2);
注:
5.如何定义参数
经验:根据具体的业务需求,来定义方法的参数
6.返回值与返回类型
-
概念:方法执行后的返回结果(行为的目的)
-
方法执行后,一些情况下无需返回结果;另一些情况下则必须返回结果
定义语法:
public static 返回值类型 (基本、引用、void) 方法名称(形式参数列表 ){
//方法主体
return value;//返回值***
}
调用语法:
变量=方法名称();
变量类型与返回值类型一致
函数的返回值 两种处理方法
(1)通过变量的存储来处理
public static void main(String[] args) {
int str = test(10); //参数类型必须与函数的返回值类型相同
System.out.println(str);
}
public static int test(int num) {
System.out.println("Hello World!");
return num;
}
(2)通过实参来处理
public static void main(String[] args) {
System.out.println(test(10));
}
public static int test(int num) {
System.out.println("Hello World!");
return num;
}
7.return的两种用法
- 当有返回值的方法存在分 支结构时,必须保证每一条分支都具有正确的返回值。
- 应用在具有返回值的类型的方法中:
return value; //表示结束当前方法,并带有返回值,返回到方法的调用处
- 应用在没有返回值类型(void)的方法中:
return; //表示结束当前方法,直接返回到方法的调用处
注:
- return直接结束当前函数
- 一个方法只能有一个返回值
8.递归
概念:解决具有既定规律的问题时,在方法内部再次调用自身方法的一种编程方式
注:在使用递归时,设置有效的出口条件,避免无穷递归;