您的位置:首页 > 编程语言 > Java开发

java方法重载与递归调用

2017-02-10 09:54 411 查看

java方法重载与递归调用

简介:

一个java方法由一下几部分组成

修饰符: 修饰符是可选的,告诉编译器如何调用该方法。这定义了该方法的访问类型。

返回类型: 方法可以返回一个值。returnValueType的值是方法返回的数据类型。有些方法没有返回值执行所需的操作。在这种情况下,returnValueType是关键字void.

方法名称: 这是方法的实际名称。方法名和参数列表一起构成了方法签名.

参数: 参数像一个占位符. 当调用一个方法,传递一个值给参数. 这个值被称为实际参数或参数. 参数列表是指类型,顺序和方法的参数的个数. 参数是可选的,也就是说,一个方法可以包含任何参数.

方法体: 方法体包含定义哪些方法语句的集合

方法重载:

首先举个例子

public class test {
public static void main(String arg[]){
System.out.println(add(1,2));
System.out.println(add(1,2,3));
System.out.println(add(1.2,1.3));
}
public static int add(int a,int b){//方法一
return a+b;
}
public static int add(int a,int b,int c){//方法二
return a+b+c;
}
public static double add(double a,double b){//方法三
return a+b;
}
}分析:上述主类中出现了add方法三次,这就是方法的重载。重载方法需要满足什么样的条件呢?
            首先方法名相同,不然就是两个不同的方法了。

            其次方法的参数或者类型不同。比如方法一两个参数,方法二三个参数,这是一种重载。方法一跟方法三,都是两个参数但是一个是int一个是double,类型不同。

            最后一个注意点:方法重载跟返回值无关,如果我加上一个方法四:public static int add(int a,int b){return a+b;}会报错,因为这是跟方法一一样的方法,而且要提醒的是,在开发过程中为了标准化,统一性,降低项目的不稳定性,尽量使用相同返回值的方法重载,也就是说上例中的方法三一般不建议这样使用。

递归调用:

举例:

public class test {
public static void main(String arg[]){
System.out.println(sum(100));
}
public static int sum(int a){
if(a==1){
return 1;
}
return a+sum(a-1);
}
}分析:
         简单点来说,递归调用就是自己调用自己。

         (1):主类第一个调用sum(100)的时候return:100+sum(99);

         (2):很明显第一次并没有得出准确结果,所以继续对sum(99)求解,也就有了第一次递归调用,return:99+sum(98);主方法返回的就是100+99+sum(98)

                       .....................

           (98):第97次递归调用,return:3+sum(2);

           (99):第98次递归调用,return:2+sum(1);

           (100):第98次递归调用,上面sum(1)求解,我们看原方法可知,1符合结束条件,返回整型1,最终的返回结果为100+99+.......+2+1=5050;

         到这我们知道这方法的作用是对1—100求和,使用的方法便是递归。

          
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息