Java基础语法第4天(方法数组)讲义
- 格式:doc
- 大小:239.50 KB
- 文档页数:23
第4天Java基础语法
今日内容介绍
◆随机点名器案例
◆库存管理案例封装
◆其他知识点
今日内容学习目标
◆能独立完成“随机点名器”案例源代码编写、编译及运行操作
◆能独立完成“库存管理”案例源代码编写、编译及运行操作
◆能够完成在源代码中使用方法进行运算操作
◆能够完成在源代码中使用数组进行运算操作
第1章随机点名器案例1.1案例介绍
随机点名器,即在全班同学中随机的打印出一名同学名字。
要做的随机点名器,它具备以下3个内容:
●存储所有同学姓名
●总览全班同学姓名
●随机点名其中一人,打印到控制台
在编写案例前,我们先来学习下本案例中所涉及到的知识点:
●方法
●数组
1.2案例学习目标
●能独立完成“随机点名器”案例源代码编写、编译及运行操作
●能够完成在源代码中使用方法进行运算操作
●能够完成在源代码中使用数组进行运算操作
1.3方法
今天我们来详细聊聊Java中的方法,那么,方法是什么呢?
假设有一个游戏程序,程序在运行过程中,要不断地发射炮弹。发射炮弹的动作需要编写100行的代码,在每次实现发射炮弹的地方都需要重复地编写这100行代码,这样会导致程序变得很臃肿,可读性也非常差。那么,为了解决代码重复编写的问题,我们可以将发射炮弹的代码提取出来放在一个{}中,并为这段代码起个名字,这样在每次发射炮弹的地方通过这个名字来调用发射炮弹的代码就可以了。上述过程中,所提取出来的代码可以被看作是程序中定义的一个方法,程序在需要发射炮弹时调用该方法即可。
接下来通过一些案例来介绍方法在程序中起到的作用,先来看一下在不使用方法时如何实现打印三个长宽不同的矩形,如下所示。MethodDemo01.java
public class MethodDemo01 {
public static void main(String[] args) {
// 下面的循环是使用*打印一个宽为5、高为3的矩形
for (int i = 0; i < 3; i++) {
for (int j = 0; j < 5; j++) {
System.out.print("*");
}
System.out.println("");
}
System.out.println("");
// 下面的循环是使用*打印一个宽为4、高为2的矩形
for (int i = 0; i < 2; i++) {
for (int j = 0; j < 4; j++) {
System.out.print("*");
}
System.out.println();
}
System.out.println();
// 下面的循环是使用*打印一个宽为10、高为6的矩形
for (int i = 0; i < 6; i++) {
for (int j = 0; j < 10; j++) {
System.out.print("*");
}
System.out.println();
}
System.out.println();
}
}
运行结果如下图所示。
图1-1运行结果
例程2-1在上述代码中,分别使用3个嵌套for循环完成了三个矩形的打印,仔细观察会发现,这3个嵌套for循环的代码是重复的,都在做一样的事情。此时,就可以将使用“*”打印
矩形的功能定义为方法,在程序中调用三次即可,修改后的代码如下所示。
MethodDemo02.java
1public class MethodDemo02 {
2public static void main(String[] args) {
3printRectangle(3, 5); // 调用 printRectangle()方法实现打印矩形
4printRectangle(2, 4);
5printRectangle(6, 10);
6}
7// 下面定义了一个打印矩形的方法,接收两个参数,其中height为高,width为宽
8public static void printRectangle(int height, int width) {
9// 下面是使用嵌套for循环实现*打印矩形
10for (int i = 0; i < height; i++) {
11for (int j = 0; j < width; j++) {
12System.out.print("*");
13}
14System.out.print("\n");
15}
16System.out.print("\n");
17}
18}
运行结果同MethodDemo01.java的运行结果相同,如下图所示。
图1-2运行结果
在上述代码中的第8行~第17行代码就定义了一个方法。其中,{}内实现打印矩形的代码是方法体,printRectangle()是方法名,第8行()中的height和width是方法的参数,方法名前面的void是方法的返回值类型。
在Java中,声明一个方法的具体语法格式如下:
修饰符返回值类型方法名(参数类型参数名1,参数类型参数名2,......){
执行语句
………
return 返回值;
}
对于上面的语法格式中具体说明如下:
●修饰符:方法的修饰符比较多,有对访问权限进行限定的,有静态修饰符static,还有最终
修饰符final等,这些修饰符在后面的学习过程中会逐步介绍
●返回值类型:用于限定方法返回值的数据类型
●参数类型:用于限定调用方法时传入参数的数据类型
●参数名:是一个变量,用于接收调用方法时传入的数据
●return关键字:用于结束方法以及返回方法指定类型的值
●返回值:被return语句返回的值,该值会返回给调用者
需要特别注意的是,方法中的“参数类型参数名1,参数类型参数名2”被称作参数列表,它用于描述方法在被调用时需要接收的参数,如果方法不需要接收任何参数,则参数列表为空,即()内不写任何内容。方法的返回值必须为方法声明的返回值类型,如果方法中没有返回值,返回值类型要声明为void,此时,方法中return语句可以省略。
例程2-2由于MethodDemo02.java中的printRectangle()方法没有返回值,接下来通过一个案例来演示方法中有返回值的情况,如下图所示。MethodDemo03.java public class MethodDemo03 {
public static void main(String[] args) {
int area = getArea(3, 5); // 调用 getArea方法
System.out.println(" The area is " + area);
}
// 下面定义了一个求矩形面积的方法,接收两个参数,其中x为高,y为宽
public static int getArea(int x, int y) {