一.什么是函数:
为了解决某一特定问题,具有名称的的代码集合。JAVA函数也可以叫做方法,要调用方法可以通过对象去调用方法(如果方法是非静态的),也可以直接用类名去调用方法(如果方法是静态的)。
二.Java如何定义函数:
格式:
访问修饰符 函数返回值的类型|void 函数名称([参数列表]) {
// 函数体
// return 返回值; }
其中:
1、 访问修饰符:方法允许被访问的权限范围, 可以是 public、protected、private 甚至可以省略 ,其中 public 表示该方法可以被其他任何代码调用,其他几种修饰符的使用在后面章节中会详细讲解滴
2、 返回值类型:方法返回值的类型,如果方法不返回任何值,则返回值类型指定为 void ;如果方法具有返回值,则需要指定返回值的类型,并且在方法体中使用 return 语句返回值
3、 方法名:定义的方法的名字,必须使用合法的标识符
4、 参数列表:传递给方法的参数列表,参数可以有多个,多个参数间以逗号隔开,每个参数由参数类型和参数名组成,以空格隔开
三.函数的调用:
实例:
四.函数的分类:
根据方法是否带参、是否带返回值,可将方法分为四类:
a.无参无返回值方法
b.无参带返回值方法
c.带参无返回值方法
d.带参带返回值方法
不容忽视的“小陷阱”:
1、 如果方法的返回类型为 void ,则方法中不能使用 return 返回值!
2、 方法的返回值最多只能有一个,不能返回多个值。
3、 方法返回值的类型必须兼容,例如,如果返回值类型为 int ,则不能返回 String 型值。
五.函数重载:
什么是函数重载:在同一个类中,允许存在一个以上的同名函数,只要他们的参数个数或者参数类型不同即可。比如,如果没有重载,我们在写求和这个方法时,必须写一个对整数的,再写一个对小数的。这样非常麻烦且不易调用。但有了重载以后,我们可以把对整数和小数的求和整合到一个方法中,不论往里面传的是小数还是整数都可以通过一次调用解决。
特点:与返回值类型无关,只看参数列表(参数的个数、参数的类型、参数的顺序)。
若参数个数不同但类型相同,则重载的代码可以重用,因为重载功能相似。例:
package shape;
public class Sum {
public static int add(int a, int b) {
return a+b;
}
//通过调用另一个重载函数实现重载
public static int add(int a, int b, int c) {
return add(a,b)+c;
}
public static void main(String[] args) {
System.out.println(add(56,12));
System.out.println(add(5,78,98));
}
}
六.递归:
什么是递归:
调用自己的函数叫递归函数。
实例: