一、函数的概念

     1.概念:执行特定代码组成的一个整体,可以通过名字反复使用。

     2.使用:

        (1)定义函数:

        a、函数的声明:确定函数的名字

        b、函数的实现:确定函数的功能

       (2)函数的调用:通过函数名让函数执行对应的功能代码

     3.函数定义的位置:定义在类以内,与main函数并列。

public class Test{

        可定义函数

        public static void main(String[] args){

                System.out.println();

        }        //这个括号以内不可定义函数(属main函数)

        可定义函数

}

     4.函数的定义

        (1)语法:public static 返回值类型 函数名(数据类型 变量名,数据类型 变量名2){

                                        //函数的功能代码(函数体)

                      

        (2)声明:public static 返回值类型 函数名(数据类型 变量名, 数据类型 变量名2) 函数的返回值类、函数名型、形参列表称为函数的三要素

a.函数名:望文生义,遵循驼峰命名法(第一个单词首字母小写 其余单词首字母大写)

b.参数:调用者调用函数的时,传递的数据成为参数。

(1) 形式参数: 在函数声明的时候 ()中定义的参数称为形式参数,简称形参。

(2) 使用:形式参数它相当于 函数的内容的局部变量,在函数内部可以直接通过参数名直接 使用(只能在当前函数内部使用)

(3) 形式参数的定义 :函数声明 (数据类型 参数名,数据类型 参数名); 可以定义n个  形参列表。

(4)实参(实际参数):即括号里真正传进去的具体值(变量)

c.返回值类型 :约定了函数返回给调用者的结果类型

(1) 返回值结果为 void ,则代表函数没有结果返回,但是可以 return ; 结束当前函数的调用。

(2) 返回值类型为 8种基本数据或是对象类型,代表函数必须有 return XXX; 语句 return 返回的结果必须和约定的返回值类型结果一致。

3) return 的作用:

a. 将函数的结果 返回给调用者

b. 结束当前函数 (return 语句后面不允许在定义任何的语句)

(4) 注意事项:如果 return 语句定义在分支结构中,必须保证每一个分支都有return 语句。

二、函数的调用

     1.函数的调用:函数名();

      2.带参数的调用:函数名(数值1,数值2);

public class Test2{
		public static void main(String[] args){
			int s=add(8,9);      //函数的调用
			System.out.println("s="+s);
		}
		public static int add(int i,int j){       //函数的声明
			int sum=i+j;         //函数的功能
			return sum;
		}
}		

     3.实参的作用:实参给形参赋值。实参必须和形参的个数、顺序、类型一致。

    4.带有返回值的函数调用:

(1) 数据类型 变量 = 函数名(实参); // 数据类型 需要和返回值的数据类型一致

(2) 带有返回值的函数调用之后,直接参与打印或是运算

三、函数的运行机制

1. 函数的嵌套调用:被调函数的内部,又调用了其他的函数。

2. 函数的执行原理:程序执行过程中,遇到函数的调用,则程序跳到被调用的函数内部执行,被调用函数执行完 之后,如果有返回值带着返回值返回到调用位置,没有返回值,直接返回到被调用的位置。

四、递归调用 

1. 概念:一个函数的内部调用了自身函数,这种现象称为递归调用。

2. 在开发中,需要给递归设置合理的出口,避免无穷递归。

五、函数的作用

1. 减少代码的冗余

2. 提高代码的可维护性

3. 提高代码的重用性

4. 利于分工,协同合作

更多推荐