第十五天的学习--方法(形参、实参、调用、重载、命令行传参、可变参数)
第十五天的学习
Java的方法
定义
Java的方法类似于其他语言的函数,是一段用来完成特定功能的代码片段,一般情况下,定义一个方法包含以下语法:
方法包含一个方法头和一个方法体。下面是方法的所有部分:

修饰符:这是可选的,告诉编译器如何调用该方法,定义该方法的访问类型。
返回值类型:方法可能会返回值。returnValueType是方法返回值的数据类型。有些方法执行着所需要的操作,但没有返回值,在这种情况下,returnValueType是关键字void,代表着空。
方法名:是方法的实际名称。方法名和参数表共同构成方法签名。
参数类型:参数像是一个占位符,当方法被调用时,传递值给参数。这个值被称为实参或变量。参数列表是指方法的参数类型、顺序和参数的个数。参数是可选的,方法可以不包含任何参数。
参数分为形式参数和实际参数两种:
形式参数在方法被调用时用于接收外界输入的数据,也就是一个空壳,被调用的时候赋值进去。只是起到一个定义作用,就相当于数学函数里的xy,ab。
实际参数就是在调用方法时实际传给方法的数据。就相当于给xy,ab赋的那个值。
方法体:方法体包含具体的语句,定义该方法的功能。
如果方法需要返回一个值,那么就必须要用return把值返回来。return还有一个功能,就是中止方法,可以用它来中断一些操作。
示例
下面是一个比大小的示例:

接着去main方法里引用:

数字具体是多少那就看自己的需求了。
方法的调用
调用方法:对象名.方法名(实参列表)
Java支持两种调用方法的方式,根据方法是否返回值来选择。
- 当方法返回一个值的时候,方法调用通常被当做一个值。就跟上文中比大小的那个max(1,1)一样,这是调用方法,也被当做一个值来用。
- 如果方法返回值是void,那方法调用一定是一条语句。这个时候直接用就行,直接输出或者什么别的都可以。
Java都是值传递。
方法的重载
重载是在一个类中,有相同的函数名称,但形参不同的函数。

最重要的是规则的前两点,只要满足就是方法的重载。
下面是示例:


有区别的地方已经标记出来了,其他的都是一样的。
命令行传参
有时候你希望在程序运行的时候给它传递消息,这就需要传递命令行参数给main()函数实现。
语法:

这个可以在cmd里面操作,在里面输入值,然后回车就可以输出了。
- 首先我们需要打开cmd,这个很简单,打开Demo03的地址,然后加cmd空格,再回车即可。
- 再然后生成一个class文件,这里要注意可能会乱码,记得编码一下。
- 随后一步一步退回到src这个文件夹处,直接执行Demo03是会报错的。
- 接着输入Demo03在包里的位置,这时候直接回车是没反应的,因为我们还没有输入一些值。
- 这里我们输入一下this is me。
- 就可以看到成果了。

可变参数
从JDK1.5开始,Java支持传递同类型的可变参数给一个方法。适用于参数个数不确定,类型确定的情况,java把可变参数当做数组处理。
在方法声明中,在指定参数类型后加三个点...如下图:

一个方法中只能指定一个可变参数,它必须是方法的最后一个参数,任何普通的参数必须在它之前声明。
示例:
下面这个是一个把数字排序,然后输出最大值的代码:

下面是我敲的,顺便带上了自己的理解:

调用方法的时候,可以直接输入一个一个的数字来赋值,也可以新建一个数组,这样还挺灵活的。
以上所有学到的知识,除小部分我自行百度外,其余全是从B站UP遇见狂神说那里学习得来的。
非常良心的一位UP,Java课程全部免费,大家快去关注他!!!
对了,他还自建了一个学习网站,课程全部免费,链接就在这里,一起来学习吧!!!https://www.kuangstudy.com/

浙公网安备 33010602011771号