方法的调用
修饰符 返回值类型 方法名(参数类型){
...
方法体
...
return 返回值; //若返回类型是void,可以省略return
}
例子:
public class Demo01{
public static void main(String[] args){
//其中1,2是实际参数:实际调用传递给它的参数
int sum = add(1,2);
System.out.println(sum);
}
// a,b是形式参数,用来定义作用的,可自行取名字,但不能是关键字,换句话来说,就是相当于方程里面的x,y一样,只是用来计算方便用的,它的值是需要其他调用这个函数的时候赋予的
public static int add(int a, int b){
return a+b;
}
}
方法的重载
重载就是在一个类里面有相同的方法名称,但是形参不同。
重载的条件:
- 方法名必须相同
- 参数列表不同(个数不同,或类型不同,或参数排列顺序不同(仅限于形参存在不同的类型时))
- 返回值的类型可以相同,也可以不同
- 仅仅返回类型不同不足以成为方法重载
public class Demo01{
public static void main(String[] args){
//其中1,2是实际参数:实际调用传递给它的参数
int sum = add(1,2);//调用的是第一个方法
double s = add(1.0,2.0)//调用的是第二个方法
System.out.println(sum);
}
public static int add(int a, int b){
return a+b;
}
public static double add(int a, int b){
return a+b;
}
}
可变传参
在方法生命中,在指定参数类型后加一个省略号(…)。
一个方法中只能指定一个可变参数,它必须是方法的最后一个参数,任何普通的参数必须在它之前声明
public void test(int a,int ... i){
System.out.println(i);
}
递归
递归:就是方法A调用方法A,自己调用自己
5的阶乘例子:
public class Demo02{
public static void main(String[] args){
System.out.println(f(5));
}
public static int f(int x){
if(x==1) return 1;
else return x*f(x-1);
}
}