方法:方法就是可以完成一个特定功能的代码片段,可以提高代码的复用性,同时提高代码的维护性以及阅读性

方法语法格式:

1
2
3
访问修饰符 返回值类型 方法名([参数列表]){

}

方法的分类

无参无返回值

1
2
3
public void cook(){

}

void : 表示方法的返回值为空(没有返回值)

方法名括号中为空时,代表方法没有参数

无参带返回值

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
// 带返回值的方法
// 返回值是根据实际需求来定,有没有,有是什么类型
public String cook() {

System.out.println("炒菜中...");

return "宫保鸡丁";
}


public static void main(String[] args) {
Test2 t = new Test2();

// 如果在调用方法后,你想要得到方法给你返回的结果,那么就需要通过一个变量去接收方法的返回值
String name = t.cook();

System.out.println("客户正在吃" + name);

}

return后面的数据类型要和方法的返回值类型一致

有参有返回值

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
   // 炒菜时需要自己添加配料
/*
* 带参数
* 方法名(参数类型 参数1,参数类型 参数2,...){}
*/
public String cook(String pl1,String pl2) {
// 添加配料
System.out.println("添加配料" + pl1);
System.out.println("添加配料" + pl2);
System.out.println("炒菜中...");

return "宫保鸡丁";
}


/**
* 方法中的参数类型可以不同,根据自己的需求来定
* @param pl1 配料1
* @param pl2 配料2
* @param time 炒菜的时间
* @return 返回菜名
*/
public String cook2(String pl1,String pl2,int time) {
// 添加配料
System.out.println("添加配料" + pl1);
System.out.println("添加配料" + pl2);
System.out.println("炒菜时间为" + time + "分钟");
System.out.println("炒菜中...");

return "宫保鸡丁";
}

public static void main(String[] args) {

Test3 t = new Test3();
// 调用带参数的方法时,要传入对应类型的数据,数量也要一致
String name = t.cook("洋葱","青椒");

t.cook2("洋葱", "青椒", 10);
}

参数个数可以多个(尽量不要超过5个,参数过多时有其他解决方案,后面课程介绍)

参数名不能重复

参数类型也可以多样,根据自己需求来定

调用带参数的方法时,要传入对应类型的数据,数量也要一致

有参无返回值

1
2
3
4
5
// 带参数无返回值
public void cook(String pl) {
System.out.println("添加配料" + pl);
System.out.println("炒菜中...");
}

全局变量 & 局部变量

代码块:可以将一对花括号中的代码看作是一个代码块。

局部变量

定义在代码块中的变量可以看做是一个局部变量。

局部变量只能在当前代码块中使用,出了当前代码块就无法访问到。

全局变量

直接声明在类中的变量我们称之为全局变量。

全局变量在当前类中任何地方都可以使用,例如方法中、循环语句中、if语句中都可访问。

形参 & 实参

形参

定义在方法中小括号中的参数叫做方法的形参。

形参都是属于当前方法的局部变量。

形参主要用来接收调用方法时传入的参数。

实参

实参就是调用方法时传入参数。

递归(了解)

方法的递归:一个方法在其方法体中调用自己。(自己调用自己)

使用递归时,需要设立一个边界条件,让方法满足条件时返回。

若无边界条件,会无限循环知道栈溢出程序停止运行。