一、方法的返回值

1、关键字

方法的返回值关键字为:return。分为有返回值的方法和没有返回值的方法。

2、return的作用

(1)return后没有返回值时,结束方法的执行,并返回方法调用处。
(2)return后有返回值时,将结果返回至方法的调用处。

3、定义方法

(1)没有返回值的方法定义:void
public static void 方法名(形参列表){ };
(2)有返回值的方法定义:
public static 返回值的数据类型方法名(形参列表){ };

4、注意

  1. 1)在返回值的方法中,所有有可能执行的方法结束的地方都要有return来返回值。<br /> 2)直接写return,直接结束方法。

二、方法的重载

1、定义

方法的重载,即在同一个类中,方法的名字相同,但方法的参数不同,构成方法的重载。

2、两同三不同:

(1)同属于一个类中;
(2)相同的方法名;
(3)参数三不同:
1)参数的类型不同;
2)参数的个数不同;
3)参数的顺序不同。

3、注意

   (1)方法名相同,定义的参数的变量名不同,不能构成重载;<br />       (2)返回值不同也不能构成重载;<br />(3)方法构成重载的标识是方法签名,即是方法名+参数列表。

三、递归

1、递归的定义

递归:即是方法自己调用自己。

2、递归的作用

实现类似于循环的功能。

3、递归的结构体

(1)递归头:即方法调用自身的条件;
(2)递归体:方法中需要执行的代码;
(3)迭代语句:控制方法调用的语句,通过改变传入的参数的值。

4、注意

(1)如果没有迭代语句,方法自己调用自己必然是死循环;
(2)有限的递归,需要有条件来控制方法的自身调用。

5、经典例题

求:n!

//利用递归,不断调用自己
    public static int jieCheng(int n) {  //n大于0
    int result = 0;
        if(n==1) {  //递归条件
            result=1;
            System.out.println(n+"!="+result);
        }else {
            result=n*jieCheng(n-1);
            System.out.println(n+"!="+result);
        }
    return result;
    }