广州番禺Python, Java小班周末班培训
第四期线下Java, Python小班周末班已经开课了,培训的课程有Python爬虫,Python后端开发,Python办公自动化,Python大数据分析, Java中高级工程师培训。授课详情请点击:http://chipscoco.com/?cate=6
10.1.1 理解数组
初学者可将数组简单地理解为包含一组数据的数据集合。
1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 |
上表所示的一维表结构即为数组,编程语言中的数组具有这样的特性:长度固定,包含一组相同类型的元素,且数组中的元素按一定顺序进行有序排列。我们在生活中也经常会用到"数组",比如年度计划表,购物清单等。计划表中包含一组计划,每个计划按重要性或时间顺序进行排列:
"3月份健身计划" | "7月份公考计划" | "11月份驾考计划" |
购物清单中包含一组商品,每个商品按添加顺序进行排列:
"牙膏" | "面包" | "啤酒" |
理解了数组的基础概念,接下来得理解为什么在编程开发中需要使用数组。在5.1节的教程中介绍了Java中的基本数据类型:整型,浮点类型,字符类型,布尔类型。
这些数据类型已经基本囊括了我们在程序中需要处理的数据,但是当需要同时处理一批数据时,使用这些基本数据类型会很难处理,因为在编程中使用基本数据类型时只能一个数据值对应一个变量,如需同时处理多个数据,那么需要同时定义多个变量,这样的做法是很低效的。有了数组以后,我们可以将一批同类型的数据写入到数组中,然后再利用循环结构来高效地处理。
10.1.2 定义一维数组
一维数组是指仅有一行数据,如下图所示的一维表格结构:
1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 |
在Java中用[]符号来表示数组,由于数组是一个包含一组同类型元素的容器,所以还需要再声明元素的类型。在Java中可通过以下语法来定义一维数组:
dataType[] arrayObj = new dataType[size];
dataType表示元素的类型,可使用int,double,byte等类型名来进行声明。[]符号即表示数组的意思。arrayObj是数组对象的名称。new是Java中的关键字,用来实例化一个对象,在这里使用new关键字来实例化数组对象。size参数表示数组的大小,即数组一共可以容纳多少个元素。也可以采用以下直接定义法来定义数组:
dataType[] array = {value0, value1, ..., valuek};
采用这种方式来定义数组,可以在定义的时候为数组添加元素。
代码实例-定义一个自然数数组并输出:
public class HelloJava{ public static void main(String[] args) { // 定义一个包含6个自然数的数组 int[] numbers = {1, 3, 2, 5, 4, 7}; // 直接通过println方法输出数组 System.out.println(numbers); } }
执行以上Java程序时,输出的为数组的地址。在7.2节中将详细讲解数组的常用操作方法,届时将通过来Java中的内置方法来直接输出数组中的所有元素。
10.1.3 定义多维数组
多维数组中最常用的是二维数组。二维数组由行列构成,系形如下图所示的矩阵:
1 | 2 | 3 | 4 | 5 |
5 | 4 | 3 | 2 | 1 |
1 | 3 | 5 | 7 | 9 |
9 | 7 | 5 | 3 | 1 |
0 | 2 | 4 | 6 | 8 |
更一般地,可将二维数组理解为数组的数组,即二维数组中的每一个元素是一个一维数组。在Java中定义二维数组的基本语法:
dataType[][] arrayObj = new dataType[rows][columns];
[][]即表示在一维的基础上增加了一维,所以是二维数组。语法后面的rows参数和columns参数,也很好理解, rows表示二维数组的行数,columns表示二维数组的列数。同样地,二维数组也可以采用以下直接定义法来构造有值的数组:
dataType[][] array = {{value0, value1, ..., valuek}, {...}};
使用以上语法来构造数组对象时,Java会自动计算出行与列的大小。至于三维及其以上的数组,也是跟定义二维数组一样的语法,只不过多了个[]号。由于三维以上的数组并不常用,所以不再讲解。感兴趣的同学可以自行查找相关资料做进一步学习。
代码实例-定义一个矩阵:
public class HelloJava{ public static void main(String[] args) { // 定义一个三行三列的二维数组,二维数组就是矩阵 int[][] picture = {{100, 120, 255}, {50, 60, 155}, {25, 33, 256}}; // 直接通过println方法输出数组 System.out.println(picture); } }
执行以上Java程序时,输出的也为数组的地址。在下节中会详细讲解怎么输出数组中的所有元素。
10.1.4 课后习题
(1) 简述你对数组的理解
(2) 定义一个表示一组质数的一维数组
(3) 以下表格分别是小美,小花,小朵的考试成绩情况:
语文
数学
外语
91
92
83
82
76
96
69
100
66
将这三人的考试成绩用二维数组来表示。
(4) 基于(3)题,试定义一个三维数组,来表示三个班级的学生成绩。