详细了解Java中方法(定义、传参、重载与递归)

一、方法的定义

每个对象都有自己的行为,比如一只狗会跑会跑会叫等,我们把这些行为称之为方法,是动态的,可以使用这些方法来操作一个对象。
那么方法是怎样定义的呢?具体格式如下:

    修饰符 返回值类型 方法名([参数类型 参数名1, 参数类型 参数名2, ...])
    {
	执行语句;
	[return 返回值;]//若没有返回值,返回类型为void
	}

方法定义示例如下(此处返回int类型):

/**
	 * 方法为求两个数之和
	 * @param a
	 * @param b
	 * @return
	 */
	public int twoSum(int a,int b) {
		System.out.println("求两个数的和这个方法调用了呦!");
		return a+b;
	}

二、方法的参数

参数有“实参”和“形参”之分哦!那什么是形参,什么是实参呢?
执行者调用对象时传的是实参,方法接收的是形参。

形参和实参:

/**
 * 形参和实参
 * @author 蒙新
 *
 */
public class TandV {
	/**
	 * 方法为求两个数之和
	 * @param a
	 * @param b
	 * @return
	 */
	public static int twoSum(int a,int b) {
		System.out.println("求两个数的和这个方法调用了呦!");
		return a+b;
	}
	
	public static void main(String[] args) {
		int x=3,y=5;
		int sum=twoSum(x, y);//调用方法传参
		System.out.println(sum);
	}

}

总结:此时x和y就是实参,a和b就是形参。把x的值3赋给了a,把y的值5赋给了b。

注意:在有些方法中会牵扯对形参的数据进行操作,有时会改变形参变量的值,但是不会影响实参的值哦!

三、方法的重载

重载的定义:

同一个类中
包含了两个或两个以上方法名相同
方法的参数不同(个数、顺序、类型),
这就是方法的重载。

注意:
方法的返回值不作为重载的依据,编码规范要求重载方法的返回类型相同

示例:

//方法的重载
public class TestOverLoad {

	public static void main(String[] args) {
		System.out.println(add(1, 2));
		System.out.println(add(1, 2, 3));
	}
	/**
	 * 求两个数之和
	 * @param x
	 * @param y
	 * @return
	 */
	public static int add(int x, int y) {
		return x + y;
	}
	/**
	 * 求三个数之和
	 * @param x
	 * @param y
	 * @param z
	 * @return
	 */
	public static int add(int x, int y, int z) {
		return x + y + z;
	}

}

四、方法的递归

递归的定义:递归就是自己调用自己。递归必须有结束条件,没有结束条件一定会发生栈内存溢出错误

常见的递归算法有:阶乘、斐波那契数列等。
(1)阶乘:

/*阶乘的递归算法*/
public long multiply(int n) {
		if (n <= 1) {
			return 1;
		} else {
			return n * multiply(n-1);
		}
	}

(2)斐波那契数列:

/** 
     * 递归算法  
     * 斐波那契数列第n项 
     * @param n  
     * @return 
     */  
    public static int fib(int n) {  
        if (n == 1 || n == 2) {  
            return 1;  
        }  
        return fib(n - 1) + fib(n - 2);  //本项等于前两项之和
    }  
  • 4
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值