【Java SE】(五)方法和递归
文章目录
- 前言
- 一、方法的定义
- 二、方法的调用
- 2.1实参和形参的关系
- 2.2没有返回值的方法
- 三、方法的重载
- 3.1.方法的重载概念
- 3.2方法签名
- 四、递归
- 4.1递归的概念
- 4.2递推执行过程
- 总结
前言
所谓方法是什么呢?在Java中方法就是一个代码片段,能模块化的组织代码,能做带代码的反复使用,能在多个位置使用,让代发能够更好的理解和更简单,可以直接调用现有的方法开发,不必再重复去写相同功能代码。
一、方法的定义
注意
1.修饰符:这里使用public static 搭配;
2.返回值类型:必须与返回实体类型一致,如果没有返回值,定义方法时,返回类型必须使用void;
3.方法命名方式:小驼峰形式;
4.参数类表:如果有参数,需要指定参数类型,多个参数之间需要用逗号隔开,如若没有参数,则直接写( );
5.方法体:方法内部需要执行的语句;
6.Java中,方法必须存在于类中,方法不能嵌套使用,没有生命方法的说法。
二、方法的调用
过程:
代码示例:
注意
1.定义一个方法时,不会执行方法的代码,只有方法被调用时才会执行;
2.一个方法可以被多次调用,一个类里可以有多种方法;
2.1实参和形参的关系
形参:形参只是方法中被借助的一个变量,用来保存方法被调用时传递过来的值。形参的名字可以随意取,对方法没有任何影响。
实参:实参是调用方法是传递给形参的值,相当于实参的值永远拷贝再形参中。
实参和形参本质上是两个实体,代码(示例):
上述代码可以发现,形参x和y的值发生改变,但是在main方法中i和t的值并没有改变,因为实参i和t是main方法中的两个变量,而形参x和y是nUM方法中的两个变量,两者存储变量的空间不同,因此两者的变量没有任何关系,只是在调用nUM这个方法时,将实参i和t中的值拷贝了一份传递给形参x和y。
2.2没有返回值的方法
方法的返回值是可以选择的
代码示例:没有形参
代码示例:有形参
三、方法的重载
3.1.方法的重载概念
现实生活中,我们说话常常会出现一词多义的情况,比如方便,具体的含义需要根据不同的场合描述,而在Java中,如果出现这种一词多义的情况,也就是多个方法的方法名相同,但是参数列表不同,我们就称这几种方法被重载了。
注意
1.方法名必须相同;
2.参数列表必须不同(参数个数不同,参数类型不同,类型顺序不同);
3.与参数返回类型是否相同无关,且只有返回类型不同的方法不能叫方法重载。
代码示例:
3.2方法签名
说完方法重载,我们会有一个疑问——在同一个作用领域不能定义两个相同名称的标识符,但为什么类中就可以定义方法名相同的方法呢?
这就是我们要说的方法签名——它是经过编译器编译时修改之后方法的最终名字。
构成的完整的方法名字:方法全路径名+参数列表+返回值类型
查看方式:
1.先对工程进行编译生成class字节码文件
2.打开cmd命令行;
3.控制台cmd查看文件所在目录
4.输入:javap_v字节码文件名即可
四、递归
4.1递归的概念
递归:一个方法在执行中调用自身就称为递归。
递归的难点在于找到递归起始条件和递归公式。
下面通过代码来示例:
4.2递推执行过程
递归要先清楚方法的执行过程,尤其是方法执行结束之后,回到调用位置继续往下执行。
代码示例:
总结
本章主要介绍了方法的定义、使用、重载的递归的概念,方法的调用可以方便我们的对于重复功能程序的编写,递归的使用需要看情况使用,还要找到起始条件和递归公式,方法重载则需要注意方法名和参数列表。
【Java SE】(五)方法和递归相关推荐
- Java SE 05 方法
Java SE 05(方法) 方法可以用于定义可重用的代码以及组织和简化编码. 1.方法概述 为了解决代码重复编写的问题,可以将重复的代码提取出来放在一个{}中,并为这段代码起个名字.这样每次在调用该 ...
- Java基础 五 方法
方法 1.1 方法概述 在我们的日常生活中,方法可以理解为要做某件事情,而采取的解决办法. 如:小明同学在路边准备坐车来学校学习.这就面临着一件事情(坐车到学校这件事情)需要解决,解决办法呢 ...
- Java Reflection(五):方法
转载自并发编程网 – ifeve.com 内容索引 获取Method对象 方法参数以及返回类型 通过Method对象调用方法 使用Java反射你可以在运行期检查一个方法的信息以及在运行期调用这个方法, ...
- Java入门篇—方法之递归篇
关于递归,可能是很多小伙伴的噩梦,不明白为什么简简单单的两三行代码就能将问题给解决了?不过今天,看完了这篇文章,相信小伙伴们会对递归有个更加深入的了解. 什么是递归 这就是递龟(bushi) 递归在百 ...
- JAVA基础之方法的递归调用
1.基本说明 递归调用就是在当前的函数中调用当前的函数并传给相应的参数,这是一个动作,这一动作是层层进行的,直到满足一般情况的的时候,才停止递归调用,开始从最后一个递归调用返回. 简单的说:递归就是方 ...
- Java SE 8新功能介绍:Lambda的遍历,过滤,处理集合和方法增强
在" Java SE 8新功能导览"系列的这篇文章中,我们将深入解释并探索代码,以了解如何使用lambda表达式和方法引用 遍历集合 ,并使用谓词接口过滤它们,实现默认方法在接口中 ...
- JAVA SE知识整合(暂时完结 五万七字)后续分点详解
目录 1.别再问为什么在类里面写个sysout语句爆红了,类里面有且只有五个成分: 2.面向对象三大特征: 封装,继承,多态 (扫盲扫盲,别这个都不知道) 3.讲一下static这个很重要的关键词 4 ...
- (超详细)JAVA SE开发工具包(JDK)在Windows系统中的下载、安装和配置的方法
目录 一.Java的各个常用版本: 二.Java各个版本的通俗理解 三.介绍完以上三个版本的区别之后,我们来介绍**Java SE开发工具包的下载方法** 四.JDK的安装 五.配置系统环境变量 (1 ...
- JAVA SE、EE、ME,JRE、JDK,基本数据类型,访问修饰符、函数、封装的概念、UML类图、构造方法、this关键字、static关键字、方法重载、方法重写、包(packahe)
运行第一个JAVA程序: 这里使用的开发环境是eclipse,新建一个java工程,然后可以看到src这个是存放java代码的地方,然后在src文件右击新建一个class(类),然后可以看到下图,同样 ...
最新文章
- 日请求亿级的QQ会员AMS平台PHP7升级实践
- SAP S/4HANA表结构之变
- tensorflow基础练习:线性模型
- JS实现sleep()方法
- 26Exchange Server 2010跨站点部署-内外网邮件流测试
- 计算机编程老鸟的心得,java入门123——一个老鸟java学习心得.docx
- Python基础笔记,后续更新
- 使用Istio进行多集群部署管理(2):单控制平面Gateway连接拓扑
- 基于JAVA+SpringMVC+Mybatis+MYSQL的在线招聘网站
- PyQt5-QLineEdit控件使用
- Matlab Astar算法简单对比分析
- 前端的CSP CSP如何落地,了解一下
- <!DOCTYPE>解读
- Android一键锁屏功能的实现,推荐一款非常好用的Android一键锁屏软件
- kprobe与perf probe使用简单记录
- java 什么是计算机
- 腾讯新闻评论数据爬取
- 原神要求特别多的作家千来神祠栖木在哪
- 步进电机基本原理及驱动方式详解
- Esko ArtiosCAD v14.1 ALPHA Biuld 1132 1DVD结构设计