方法的使用与递归

本文详细介绍了Java中方法的定义,包括其作为代码片段的作用、模块化代码、代码复用和提高可读性。接着讲解了方法的定义语法,并通过示例代码展示了如何调用和执行方法。方法的参数分为形参和实参,只有值传递。此外,文章还探讨了方法的重载,即在同一类中通过不同的参数列表实现多态性。最后,介绍了方法的递归,强调了递归的条件、概念及执行过程,并通过计算数列和的例子解释了递归的递过程和归过程。
摘要由CSDN通过智能技术生成

一.方法的定义

方法就是一个代码片段

1. 是能够模块化的组织代码(当代码规模比较复杂的时候).

2. 做到代码被重复使用, 一份代码可以在多个位置使用.

3. 让代码更好理解更简单.

二.定义语法

public static 方法返回值 方法名称(定义参数形参){

方法体代码

return

}

方法的放回值可有可无,如果没有返回值就用 void声明

依然可以使用return来表示提前结束方法的调用

示例代码:

这里的返回值是一个整数,所以用int;

add为方法名称

三.方法的调用和执行过程

示例代码

1.调用

方法定义时的参数称为 "形参", 方法调用时的参数称为 "实参";

返回值变量 = 方法名称(参数)   如图第四行 

将实参调用给形参

2.执行过程

1)定义方法的时候, 不会执行方法的代码. 只有调用的时候才会执行。

2)当方法被调用的时候, 会将实参赋值给形参。

3)参数传递完毕后, 就会执行到方法体代码。

4)当方法执行完毕之后(遇到 return 语句), 就执行完毕, 回到方法调用位置继续往下执行。

5)一个方法可以被多次调用。

       如上实例 当进行到 int sum = add(n)时开始调用方法add,直至遇到return语句,

回到这里继续执行代码。

 

*实参和形参:在Java中,方法的参数传递只有值传递,就是把实参的值拷贝一份给形参,带实参不产生影响

四,方法的重载

当我们需要用一个函数同时兼容多种参数的情况, 我们就可以使用到方法重载

方法重载发生在同一个类中,方法名相同,只是参数的个数或者类型不同;方法的返回值类型不影响重载’

示例代码:

五.方法的递归

1.使用递归的条件

1)一个大问题可以拆分成诺干个子问题的解

2)拆分后的子问题和原问题除了数据规模不同,解决思路完全相同

3)必须存在递归的终止条件

2.递归的概念

方法在执行过程中调用自身, 就称为 "递归"

 递归分为两个过程

递函数:函数不断调用自己的过程,直到遇到return语句,成为递过程

归函数:函数不断返回的过程称为归过程

3.递归执行过程分析

求n个数和

当 n = 1 时return值为1

当 n > 1 时return值为 n+add(n-1),

方法调用时程序会卡在方法的调用处,直到方法返回后继续运行

这时程序会停下来,计算add(n-1)的值,add(n-1)代表将n-1再次执行方法add;

add(n-1)再次进入这个方法,return值为(n-1)+add(n-2),add(n-2)代表(n-2)再次执行方法add;

·············

add(n-(n-2))进入方法时,return值为(n-(n-2))+add(n-(n-1))

add(n-(n-1))进入方法时,因为(n-(n-1))=1,所以此时return值为1

以上为递过程

add(n-(n-1))=1,可得到add(n-(n-2))的return值为(n-(n-2))+(n-(n-1))

············· 

add(n-2)return值为n-2+n-3+······+2+1

add(n-1)return值为n-1+n-2+······+2+1

这个方法的return值为n+n-1+n-2+······+2+1

这个过程称为归过程

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值