java5的递归算法_Java基础入门(五)之方法以及递归算法

一.方法

1.1 什么是方法

java中的方法类似于其他语言中的函数 是一段用来完成特定功能的代码片段

1.2 为什么要声明方法

DRY Don't Repeat Yourself(不要写重复的代码)

原则 把能重复使用的逻辑抽取出来

不写重复的代码可以节省时间 提高效率 降低代码的出错几率 方便程序的测试和扩充

实现相对独立的逻辑

实现比较复杂的逻辑

可以对具体代码实现主体进行隐藏/封装

1.3 方法的作用

简化代码 提高代码的可读性 提高代码的可维护性

1.4 方法的声明格式

访问权限修饰符 其他权限修饰符 返回值类型 方法名(参数列表){

方法体

return 返回值;

}

访问权限修饰符 其他权限修饰符 返回值类型 方法名(参数列表) -->方法的声明

{                              -->方法体

方法体

return 返回值;

}

public static void main(String[] args){

}

public 访问权限修饰符 公有的

static 其它权限修饰符 静态的

void 返回值类型 void 不确定的返回值

main 方法名

(String[] args) 参数列表 形参列表

1.5 方法的分类:

根据方法有没有参数 可以分成两类

1.无参方法

2.有参方法

1.6方法声明中需要注意:

1.访问权限修饰符 其他修饰符 可省略

2.一个完整的方法包含声明部分和方法体部分

3.方法不调用 不执行

4.方法与方法之间是平级关系 不能嵌套定义

5.如果方法有明确的返回值类型 一定要有return语句 将返回值带回

1.7   方法的调用格式

赋值调用

输出调用

单独调用

注意:1.当方法声明有明确的返回值类型时 使用 输出调用 赋值调用 单独调用都可以

推荐使用 赋值调用

2.当方法没有明确返回值时 只能使用 单独调用

方法中的参数

工作原理 调用方法的时候 用实际参数给形式参数进行赋值 这个过程叫做 传参

形式参数 就是一个变量 int i,char c

实际参数 就是一个常量 或者是携带着值的变量

传参 就是把 实际参数的值 赋值给形式参数

1.8传参时需要注意:

1.实参的数量 和 类型 必须和形参的数量 类型保持一致

2.数据类型可兼容

1.9 方法的返回值

return关键字的作用:返回结果 结束方法

return关键字的使用:

1.表示一个方法执行完成之后所得到的结果

void 表示没有明确的返回值

2.return的使用

2.1 在没有明确的返回值情况下

return可写可不写

如果书写return 那么return后面 直接加分号结束

后面不能加任何返回值

作用:结束整个方法

2.2 在一个有返回值类型的方法中使用return

return后面 必须要有返回值

而且该返回值类型 必须和 方法声明的返回值类型保持一致

作用:结束整个方法 并且返回结果给调用者

2.3 如果一个自定义的方法有分支结构

在每一个分支后面都需要添加return

二.方法的重载Overload

2.1 方法重载的概念

在同一个类中

方法名相同 参数列表不同 与返回值无关

在一个类中 允许存在一个以上同名的方法 只要他们的参数不同即可

好处:

设计重载的目的 是为了减少方法名的个数 便于程序员掌握

程序在运行的过程中 通过传递不同的参数

来动态调用与之最匹配的方法 进行执行

注意事项

什么情况下 叫做参数列表不同?

1.参数的个数不同

2.参数的类型不同

3.参数的顺序不同(算重载 但是在开发中基本不同)

方法调用的最佳匹配原则:

当传递的实际参数 如果有多个重载的方法 都能够接收该类型的时候

就会出现相应的匹配原则

最佳匹配 和 小匹配到大 原则

自己有 就用自己的

自己没有 就找一个自己能转换成的

byte short int long float double

char

6ded1325bbf3ffafbbcb6df3304df068.png

三、.递归算法

3! = 3*2*1 --> 3*2!

3.1 递归算法的概念

以此类推

在一个方法的方法体内 调用该方法本身 称为方法的递归

自己调用自己

方法的递归 包含了一种隐式的循环

会重复执行某段代码 但是这种重复不需要使用循环语句来进行

不会看到 for while do..while

66f2c18c375a3197d42e960e1bd5e7aa.png

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值