java方法重载与递归调用

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求和,使用的方法便是递归。






          

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值