零基础学Java第2版
上QQ阅读APP看书,第一时间看更新

5.1 数组概念的引入

本节将介绍数组的一些基本概念。这些概念有助于在以后的编程过程中,更好地使用数组。

5.1.1 实例的引入

走进一家运动器材店,会看到很多体育运动器材,有篮球、排球、足球、羽毛球、乒乓球、高尔夫、滑板、健身器材等。如果要为这家店做一个数据库系统,首先要建立一个类似于集合的表格,如下所示。

{篮球,排球,足球,羽毛球,乒乓球,高尔夫,滑板,健身器材}

在程序开发中,将这种集合形式经过改装,变成了本章要重点讲述的数组,将上述的例子用数组来表示:

运动器材{篮球,排球,足球,羽毛球,乒乓球,高尔夫,滑板,健身器材}

5.1.2 数组的概念

数组是具有相同数据类型的数据的集合,例如上一小节中提到的运动器材集合。相同的数据类型,意味着数组中每个数据都是同一类型数据,或者属于基本数据类型中相同类型的数据,或者属于对象类型中相同类型的数据。在生活中,一个班级的学生、一个学校的所有人、一个汽车厂的所有汽车等,这些都可以形成一个数组。

数组如果按照维数来分,分为一维数组、二维数组、三维数组和多维数组等,每一维代表一个空间的数据。一维数组代表的就是一维空间的数据,例如自然数1~10。

{1,2,3,4,5,6,7,8,9,10}

二维数组代表的就是二维空间的数据,例如在数学中的坐标。

{(1,2),(3,4),(5,6),(7,8)}

这里的每一组数据都代表了二维空间中x和y的坐标值。

三位数组代表的就是三维空间的数据,所谓三维空间就是指立体空间,例如立体坐标。

{(1,2,3),(2,3,4),(3,4,5),(4,5,6),(5,6,7)}

这里的每一组数据都代表了三维空间中的(x,y,z)轴的坐标值。

5.1.3 用实例说明数组的用处

本节重点是说明数组的优点,这里可能会遇到后面小节讲述的内容,先不要理会。下面来看一个有关数组的简单实例。

一个班有10个同学,分别是王垒、赵敏、宋江、刘户、孙洁、王浩、周杰、钱平、朱汉、马超。前面5名同学是男生,后面5名同学是女生。下面分析如何用数组来表示。

这个实例用数组来表示的方式有很多种,可以用一维数组来表示,也可以用二维数组来表示,还可以用三维数组来表示。下面先使用一维数组来表示。

某个班级的同学〔10〕{王垒,赵敏,宋江,刘户,孙洁,王浩,周杰,钱平,朱汉,马超}

“某个班级的同学”是这些同学的共同点,在程序中可以称之为相同的数据类型,中括号中的数组代表的是共有几个相同数据类型的数据,而大括号内的数据就是要使用的数据。

如果使用二维数组来表示,请看下面示例。

某个班级的同学〔10〕{(王垒,男),(赵敏,男),(宋江,男),(刘户,男),(孙洁,男),(王浩,女),(周杰,女), (钱平,女),(朱汉,女),(马超,女)}

此时在二维数组中,将性别和姓名作为二维数组的一个数据元素。

如果使用三维数组来表示,请看下面示例。

某个班级的同学〔〕{(王垒,男,21),(赵敏,男,21),(宋江,男,21),(刘户,男,21),(孙洁,男,21),(王浩,女, 21),(周杰,女,21),(钱平,女,21),(朱汉,女,21),(马超,女,21)}

此时在三维数组中,将姓名、性别和年龄作为三维数组中的一个数据元素。