小白学Java 第15课:方法介绍与调用

【相关链接】

上一篇:小白学Java 第14课:do while 循环

下一篇:小白学Java 第16课:字符串

总纲:返回列表

 

【1】方法是什么?

什么是方法?简单的说就是通过一段代码,获取一个结果,可以认为就是程序这段代码里做了一件事或多件事情,方法也通常被称之为函数。

【2】main 方法

在前面的课时中,我们已经知道了,所有执行程序都是从一个 main 方法开始执行的,那么main方法他做的事情就是要执行所有程序。

public static void main(String[] args) {

}

比如我们执行如下代码:

public static void main(String[] args) {
	int a = 2;
	int b = 3;
	int c = a + b;
	System.out.println("a + b = " + c);
}

最后的输出结果为:

这里把上面四行代码运行完全,就是main方法所做的事情,这里main方法计算了a+b的结果并输出。

假设我们现在把main方法的名称改为main2,如图所示:

我们再点击程序执行按钮

可以看到提示说:我们的类中找不到 main 方法, 请将 main 方法定义为: public static void main(String[] args)

从这里我们于是就更加清楚到,main方法由于十分特殊,且他是程序的唯一入口,所以为了标准, public static void main(String[] args) 是类中代码直接执行的唯一固定写法。

【3】方法的定义

那么,如果去定义一个方法呢?一个方法有哪些要素呢?我们以main方法举例:

我们从左往右开始依次说明下:

(1)首先,第一个关键字 public,这个是方法的公私属性,他一共有3种可以选择:public (公有,其他类可以调用),private(私有,只能自己类用),protected (保护,继承自己的类可以用),这个关键字目前不做深究,我们现在先默认用 public。

(2)然后接着是 static,被这个关键字修饰的方法叫做静态方法,可以直接调用,这里也不做深究,我们在后面同样也先默认使用。

(3)第3个关键字是 void ,这个是返回的参数类型,被 void 修饰的方法表示执行后不用返回,如果要想方法返回一个值,则需要显示返回的类型,比如我定义一个方法需要返回一个整数,那么我们可以将这里的 void 用 int 代替。

(4)main,这个是方法的名称,我们称之为方法名。

(5)main 后面的小括号被称之为参数体,如果有参数则标明参数,如果没有参数,小括号里面不写即可。

(6)String[] 参数类型,表示这是一个String类的数组类型(数组后面介绍,这里不深究)

(7)args 形式参数,这个可以随便取名,比如我将mian方法定义为 public static void main(String[] xxx) 也是可以的,只是在main方法里,大家都习惯了args系统自带的写法。

(8)方法大括号中的所有代码被称之为方法体。

【4】实战举例

上面说了这些定义,下面我们来实际操作下,如何我们自己来定义一个方法。

比如,我们将main方法种的加法逻辑进行剥离,抽成一个加法方法,具体代码为:

/**
 * 加法运算
 * @param a 数1
 * @param b 数2
 * @return 两个数之和
 */
public static int add(int a, int b) {
	int c = a + b;
	return c;
}

(1)首先看注释,注释@param表示每个对应参数的解释,@return 表示方法执行返回的解释。

(2)由于我们是做加法,所以方法名我们取名为add;

(3)由于是两个数的整数加法,所以我们定义了两个参数int类型的a和b,且不管哪两个整数相加,我们都可以用a和b表示;

(4)两个整数相加结果必然是一个整数,所以我们相加的结果也应该是int类型,所以我们返回值应该是int。

(5)整个方法体中,就两条语句,第一句(int c = a + b;)的作用是把两个数相加的结果赋值给了整数c,第2句(return c;)的作用是把c返回出来,所以在有返回值的时候,必须配合 return 关键字将结果返回。当然,这里可以直接将两句缩成为1句(return a + b;)。

【5】方法调用

如下图所示,整个方法的定义我们已经写好了,那么如果将mian方法中的代码改为方法调用的写法呢?

于是我们可以改动代码如下:这里我们把mian方法种的a和b传进了方法中,用了一个c去接收了方法的结果,这个c就是加法结果。

我们执行方法:同样可以看到一样的结果

在mian方法和add方法中,都存在a,b,c三个参数,可能对于第一次学习的同学来说有点混乱,到底哪个a是哪个方法的,就这里来看,自己方法的变量只在自己方法有效,这里叫做方法变量,他的作用范围不能超出自己的方法。

如果实在不习惯,你可以将下面的abc改为其他的也是可以的,比如我改为mnk(你也可以改为其他的),结果都是一样的,并不影响。

这是同一个文件类中,方法可以直接写方法名字进行调用,至于如何跨类调用,后面我们学习了类的介绍再进行说明。

【7】方法重载

所谓方法重载,就是在一个类中,有两个甚至多个同名称的方法,比如下面两个方法都是加法,一个是两个数相加,另外一个是自身加1。

/**
 * 两个数相加
 */
public static int add(int a, int b) {
	int c = a + b;
	return c;
}

/**
 * 加一
 */
public static int add(int a) {
	int c = a + 1;
	return c;
}

那么我们在调用方法的时候,只要传入对应参数个数,系统自己根据参数个数不同,匹配到对应的方法并执行。

 

【8】小提示

在定义方法的思路上,我们首先要明确:自己想要通过什么,而获得什么(如果不需要获得就写为void,比如我这个方法只做打印而不返回,就可以定义为void,如下),然后取一个与逻辑代码对应的方法名,最后根据方法的其他属性加上其他关键值修饰;

 

【相关链接】

上一篇:小白学Java 第14课:do while 循环

下一篇:小白学Java 第16课:字符串

总纲:返回列表

相关推荐
©️2020 CSDN 皮肤主题: Age of Ai 设计师:meimeiellie 返回首页