Core Java第四章知识点总结——函数

时间:2021-12-01 01:15:38

Core Java第四章知识点总结——函数

 

知识点预览

 

函数的概念

函数的语法

函数的参数(形参 实参)

函数的返回值类型(voidreturn)

函数的嵌套调用

函数的递归调用

 

函数的概念

 

1.      什么是函数(方法 过程)

a)        代码冗余------->程序维护性差

b)       函数、方法、过程等效

 

 

函数的语法

1.      形式

a)        返回值类型 函数名(函数参数1, 函数参数2){

函数体

}

b)       函数的三要素:返回值类型 函数名  函数参数(函数声明)

c)        返回值类型:运行完后,往外界返回数据

d)       函数名:为所封装的代码起个名字

e)        函数参数:封装的代码处理的数据往外界传入

f)        函数体:经常需要重复利用的代码(函数实现)

g)       public static voidprint();//public static  避免类(Java)

2.      使用

a)        函数之间平级关系

b)       定义在类中

c)        避免多次书写重复代码------>解决代码冗余

3.      函数使用中的注意事项

a)        现实生活中例子-------->肯德基 套餐

b)       定义:在类代码中 不能再次在其他函数中定义 平级关系

c)        使用了函数后 程序流程变复杂(利用函数调用点进行分析)

d)       使用了函数引入两种角色

                       i.             函数提供者:封装经常需要重复使用代码的程序员(函数声明实现

                     ii.             函数使用者:用这个函数的人(调用

                   iii.             有的时候,一个人充当两种角色,有时,不同的人充当不同的角色

                    iv.             这其中就需要函数提供者和函数调用者达成约定

4.      使用函数的好处

a)        提高代码的重用性

b)       便于程序分工协作开发

c)        便于代码的集中管理

 

函数的参数

1.      什么是函数的参数

a)        函数使用者传入数据------>函数提供者

b)       参数不是必需的

c)        现实生活中类似场景-------->快递

d)       public static void print(introws, int cols ){} //rows 行 cols 列 形参需要传参

e)        变量------>可变化的数据

f)        print(2, 3);//调用 2,3实参--------->函数调用者真正调用传入的数据

g)       合理定义形参-------->函数提供者定义函数时定义的变量

2.      函数参数注意

a)        函数的形式参数等同于局部变量

 

 

函数的返回值

1.      函数的返回值

a)        示例:KFC 卖饭;包子

b)       有返回值的例子------->加法运算

2.      void关键字

3.      有返回值的函数与return关键字

a)        public static int add(inti, int j) {return}

b)       return:运算的结果返回给调用者

4.      return关键字的特殊应用

a)        return关键字的特殊用法

public static void test(int i){

       if (i == 0){

              return;

              //return后没有任何内容

              //程序或者说函数到此结束,返回调用点,后面的代码不执行

}

System.out.println(“This is atest!”);

}

 

test(1);

test(0);


函数的嵌套调用

 

1.      示例代码

public staticvoid main(String[] args){

System.out.println(“main 1”);

       test1(2);

        System.out.println(“main 2”);

}

 

public static void test1(int a){

       System.out.println(“test1” + a);

        test2(a);

}

 

public static void test2(intb){

       System.out.println(“test2” + b);

}

 

执行结果;

main 1

test1 2

test2 2

main 2


函数的递归调用

 

1.      递归调用(自己调用自己)

2.      示例代码:

 

public staticvoid main(String[] args){

        test();

}

 

//死递归

public static void test(){

       System.out.println(“TestFunction”);

        test();

}

3.      处理递归------>收敛条件:满足特定条件,自己不会调用自己

4.      示例代码

 public class Test{

        static int i = 3;//全局变量,在多个方法中调用

 

public static voidmain(String[] args){

       test();

}

 

//有效递归

public static void test(){

        //收敛条件

        if(i < 0){

               return;

}    

 

System.out.println(“Test Function”);

i --;

test();

}

}