Java方法 学习

思维导图

在这里插入图片描述

导学

什么是方法,其实我们从一开始就接触到了方法。这个方法就是我们的主方法。主方法是一个比较特殊的方法,它是程序执行的入口。之前我们还提到可以使用.去调用方法,像System.out.println();中,println()就是一个方法。
所谓方法(函数),就是就是用来解决一类问题的代码的有序组合,是一个功能模块。

方法声明

语法:
在这里插入图片描述
示例:
在这里插入图片描述
访问修饰符就是方法允许被访问的范围;返回类型可以是void和其他任何类型的数据(包括自己创造的数据类型);方法名需要满足标识符的全部规则外还需要满足驼峰原则;参数列表可以省略,既没有参数,同样参数可以有多个,每个参数之间使用逗号间隔,参数由数据类型和参数名构造,类似变量的定义;
根据参数和返回值,方法可以分为四类:
1、无参无返回值
2、无参有返回值
3、带参无返回值
4、带参有返回值

方法类型

无参无返回值方法

首先我们来看一道例题,打印如下所示的图形
在这里插入图片描述
这样的图形只需要使用System.out.println()就可以打印输出出来,但是我们发现该例题会要求我们进行重复的打印输出该图形。对于这样一种重复的行为,我们希望将这条打印语句放置在一个方法里面,然后每次遇到同样的要求,只需要调用方法就可以了。
那么,方法的使用意义就出来了,我们希望使用方法来减少代码的量!就如同我们之前给大家讲过冒泡排序的问题,如果我们每次遇到要冒泡排序的问题,只需要调用一个方法,是不是就方便很多。
在这里插入图片描述
在本章节中,我们会碰到很多的概念和语法,这些概念和语法需要我们同学反复记忆。其实关于这些概念和语法的问题没有为什么,Java的语法规则就是这么规定的,编译器就只认这些语法。

无参有返回值的方法

我们依旧通过一个例题完成:
求一个长宽都是整数的长方形面积?
在这里插入图片描述
什么是返回值,返回值其实是本方法求得的结果,这个结果最终可能为其他方法或代码块所需要,那么为了将该结果传递出去,就需要使用返回值将得出的结果传递出去。

带参无返回值方法

例题:
定义一个求两个float类型的数据最大值的方法,在方法中将最大值打印输出
在这里插入图片描述
局部变量的范围只限于定义它的大括号中,传递数值时主方法中可以是变量,也可以是一个字面值,不同类型传递会出现类型转换。

带参有返回值的方法

例题:
定义一个求n!的方法,然后再求1!+ 2!+3!+4!+5!
n!是指阶乘,5的阶乘就是12345
在这里插入图片描述
方法的定义必须定义在类的里面,但是不能定义在另外一个方法的里面。方法不能嵌套,带有返回值的方法是为了参与进一步的运算

数组作为方法参数

示例一

例题:
定义方法,打印输出数组元素的值。
在这里插入图片描述

示例二

例题:
查找数组元素的值:
在这里插入图片描述

方法重载

方法重载简单概括就是方法名相同,参数列表不同。
在这里插入图片描述
例题:
定义三个方法,实现int、double和数组类型求和的问题
在这里插入图片描述

方法的传值

基本数据类型的传值

例题:
对两个变量的值进行交换并打印输出(传值问题)
在这里插入图片描述
在方法运行之后,我们会发现,m与n的值并没有发生改变。
在这里插入图片描述
这是因为首先创建m,n变量,会在内存中开辟空间存储对应的值,然后在方法调用的时候把m和n的值传给变量a,b,这时候只是把4和5这两个值传过去了。并不是把m和n的内存地址传递过去了。
实际上,这道题目告诉我们,如果方法的参数是基本数据类型,那么在方法内对参数进行修改,不会影响到传递的实际参数。

数组的传值

例题:
定义一个用于修改某个数组元素的方法
在这里插入图片描述
总结:
主方法中声明变量并传值到方法中,基本数据类型传值是把值传过去,没有传变量的地址,所以如果在普通方法中修改了变量的值,对主方法中的普通变量没有影响。但是如果主方法中声明的是数组(引用数据类型),则传值是把变量地址传过去了(传过去的是数组的第一个元素的地址),在普通方法中修改变量会影响主方法的变量。传值都是传的的变量里的值,基本数据类型的是值本身,引用类型的是对象的地址。但是数组可以修改对象里的东西,字符串不可以。

可变参数列表

什么是可变参数列表

示例:
在这里插入图片描述
可变参数列表指的是参数的数量不固定,但是参数的类型是固定的,参数列表规定了是哪一种类型,随后的参数就只能是哪一种类型。
示例一:
在这里插入图片描述
示例二:
在这里插入图片描述
总结:
1、可变参数列表指的是参数数量是不确定的,可以随时变化。有时候也称可变原参数。
2、参数列表中如果有两个或两个以上的参数,可变参数一定是在最后的。例如:public void a(int a,int… b){ }是正确的,但是如果把int… b写前面则是错误的。
3、可以将数组传递给可变参数。
4、一个方法中只能有一个可变参数。
5、可变参数方法换成数组是不算重载的,算重复定义

可变参数列表作为方法参数的重载问题

本节课,我们来看一下当进行方法重载时,可变参数列表方法,调用顺序的问题。
在这里插入图片描述
总结:
若有多个重载方法,则可变参数列表所在的方法是最后被访问的(如果主方法所传参数其他重载方法可以满足,则调用其他方法,只有其他方法都不满足,才会调用可变参数列表所在的方法)

再议文档注释

至此,对于方法的学习,我们已经完成的差不多了,接下来,我们再来看一看文档注释对于整个类使用的帮助
在 javadoc 中也提供了丰富的标记

  • @author:指定程序的作者
  • @version:指定源代码的版本
  • @param:在方法中指定参数
  • @return:在方法中指定返回值
    在这里插入图片描述
    在文档注释中可以使用html标签,但是不能用自封闭的标签。
    使用javadoc命令生成API文档,-d指定生成的目录地址。
    在这里插入图片描述
    在eclipse中执行生成doc文档
    1、在工具栏project选项中右键选择Generate Javadoc选项
    在这里插入图片描述
    2、可以选择生成整个项目的帮助文档和单独一个类的帮助文档,以及选择输出地址
    在这里插入图片描述
    3、生成标题
    在这里插入图片描述
    4、输出文档
    可以尝试学习Java jdk的帮助文档:https://tool.oschina.net/apidocs/apidoc?api=jdk-zh

方法的调试

在方法调用处打上断点。
在这里插入图片描述

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值