1.方法的基本用法
1.1对于方法的介绍
方法就是一个代码片段,类似与C语言中的函数,方法可以将代码模块化,让代码做到重复使用,从而让代码更好的理解。
方法的形式一般为:
public static 方法返回值 方法名称([参数类型 形参 ...]){
方法体代码;
[return 返回值];
}
// 方法调用
返回值变量 = 方法名称(实参...);
注意事项:如果要在main函数中调用需要在方法前面加上public和static
方法定义时的参数为形参,方法掉用时的参数为实参
Java中没有函数声明这个概念
1.2方法调用的执行过程
(1 只有在调用方法的时候方法才能被使用
(2 当方法被调用的时候,会将设参赋给形参
(3 当方法执行之后,就执行完毕,结束
1.3形参和实参的关系
我们通过一段代码来显示
public class Test01 {
public static void main(String[] args) {
int a=10;
int b=20;
swap(a,b);
System.out.println(a+" "+b);
}
public static void swap(int x,int y){
int temp;
temp=x;
x=y;
y=temp;
}
}
我们可以看出并没有改变因为形参和实参是不一样的
2.函数的重载
重载就是对同样的方法进行重写
我们通过一段代码来展示
public class Dask {
public static int add(int a,int b){ //重载
return a+b;
}
public static double add(double a,double b,double c){ //重载
return a+b+c;
}
public static void main(String[] args) {
System.out.println(add(10,20));
System.out.println(add(1.2,2.3,5.4));
}
}
方法名都叫add但是计算的类型不一样,我们对使用同一个名字,通过不同版本的实现,称为方法的重载。
方法重载的规则:
(1 方法名相同
(2 方法的参数不同
(3 方法的返回值类型不影响重载
注意:当两个方法的方法名相同,参数也相同返回值不同时不构成重载。
3.方法递归
递归是一个方法在执行过程中调用自身,就成为递归。
我们通过代码来显示
public class Dask09 {
public static int frog(int n){
if(n==1){return 1;}
else if(n==2){return 2;}
return frog(n-1)+frog(n-2);
}
public static void main(String[] args) {
Scanner sca=new Scanner(System.in);
int a=sca.nextInt();
System.out.println(frog(a));
}
}
递归相当于数学上的"数学归纳法"。有起始条件和递推公式
对于方法的调用
这里不建议用递归,递归是调用一个有一个重复的方法,方法会在栈上调用这个栈帧,每一个栈帧包含了方法中的参数。