1. 函数的定义
定义:定义在类中的具有特定功能的一段独立小程序。
函数也叫方法。
2. 格式
修饰符返回值类型 函数名(参数类型 形式参数1,参数类型 形式参数2,...)
{
执行语句;
return 返回值;
}
返回值类型:函数运行后的结果的数据类型。
参数类型:是形式参数的数据类型。
形式参数:是一个变量,用于存储调用函数时传递给函数的实际参数。
实际参数:传递给形式参数的具体数值。
return:用于结束函数。
返回值:该函数运算后的结果,该结果会返回给调用者。
3. 示例
class FunctionDemo{
public static void main(String[] args){
int c = add(4,5);
System.out.println("c = " + c);
}
public static int add(int a, int b){
return a + b;
}
}
结果:9
4. 函数的特点
1、定义函数可以将功能代码进行封装,便于对该功能进行复用。
2、函数只有被调用才会被执行。
3、函数的出现提高了代码的复用性
4、对于函数没有具体返回值的情况,返回值类型用关键字void表示,那么该函数中的return语句如果在最后一行可以省略不写。
注意:
函数中只能调用函数,不可以在函数内部定义函数。
定义函数时,函数的结果应该返回给调用者,交由调用者处理。
5. 函数的应用
1、两个明确
明确要定义的功能最后的结果是什么?
明确在定义该功能的过程中,是否需要未知内容参与运算
2、示例:
需求一:定义一个功能,可以实现两个整数的加法运算。
分析:
该功能的运算结果是什么?两个数的和,也是一个整数(int),所以返回值类型应该是int。
在实现该功能的过程中是否有未知内容参与运算?加数和被加数是不确
定的。(所以要定义两个参数int a,intb)
代码:
public static int add(int a,int b){
return a + b;
}
需求二:两个数是否相等。
明确一:这个功能的结果是什么?有,boolean类型。
明确二:这个功能实现过程中是否需要未知内容参与运算?有,两个整数。
代码:
public static boolean equals(int a,int b){
return a == b;
}
6. 函数的重载
6.1 定义:函数的重载(overload),是指允许存在一个以上的同名函数,只要参数个数或者参数类型不同即可。
6.2 特点:与返回值类型无关,只看参数列表
示例:定义不同参数的加法
class FunctionDemo{
public static void main(String[] args){
System.out.println(add(3,4));
System.out.println(add(3.0,4.0));
System.out.println(add(3,4,5));
}
//加法运算,两个整数的和
public static int add(int a, int b){
return a + b;
}
//加法运算,两个小数的和
public static double add(double a, double b){
return a + b;
}
//加法运算,三个整数的和
public static int add(int a, int b,int c){
return add(a,b) + c;
}
}
结果
7
7.0
12
注意:重载与参数顺序也有关,以下也是重载
public void add(double b,int a,int c)
{
System.out.println(a+b+c);
}
public void add(int c,int a,double b)
{
System.out.println(a+b+c);
}