一、 了解数组及其使用
数组是具有类似类型的数据集合。通过使用数组,可以存储大量类似类型的数据。数组是 Java 提供的一种数据结构,用于处理多个数据。这当然与普通变量的概念非常不同,普通变量只能存储一个数据。要使用数组,首先要声明数组。下面是如何声明数组的格式。
datatype[] ArrayName;
//或者
datatype ArrayName[];
数组变量的声明格式与普通变量的声明格式几乎相同,数据引用只要在数据
类型之后或数组名称之后使用方括号“[ ]”。
int Data[]; //名称为 Data 的 int 类型数组
String Name[]; //名称为 Name 的 String 类型数组
上面的代码是声明 int 类型数组 Data 和 String 类型数组 Name 的例子。除了
上面的声明方法外,还可以直接分配数组中可以存储的数据量。
int Data[] = new int[10]; //名为 Date 的 int 类型数组可以存储 10 个数据
String Name[] = new String[5]; //名为 Name 的 String 类型数组可以存储 5个数据
像上面的例子一样声明一个数组将直接决定数组中可以存储的数据量。在这
个例子中可以看到,Data 数组为 10 个 int 类型的数据分配了内存,而 Name 数组
为 5 个字符串类型的数据分配了内存。
在数组中存储数据可以通过直接初始化数据或将值赋给每个数组索引来完
成。下面是如何在数组中存储数据的案例。
//声明并初始化数组
int data[] = {1,2,3,4,5,6,10};
//使用数组的索引为其赋值
int Score[] = new int[6];
Score[0] = 3;
Score[1] = 2;
Score[2] = 9;
Score[3] = 8;
Score[4] = 7;
Score[5] = 10;
数组的索引从 0 开始到 n-1,其中 n 是存储的数据量。因此,如果存储的数
据量是 6,那么数组索引从 0 开始到 5。
二、二维数组
二维数组是由行和列组成的数组。二维数组可以比作是由行和列组成的表。当然与前面讨论的一维数组非常不同,在一维数组中它只包含一行。换句话说,二维数组是由行和列组成的矩阵,而一维数组是行向量。
可以使用以下格式声明二维数组。
datatype [][] arrayname=new datatype[row][column]; //或者下面的
datatype arrayname[][]=new datatype[row][column];
案例:
int [][]data=new int[3[3];
String [][]student=new String[3][6];
在上面的例子中,我们可以看到 data 数组是一个 33(3 行 3 列)的二维数组。Student 数组的尺寸为 36(3 行 6 列)。要在一个二维数组中填充数据,可以通过将数据分配给所需的索引来完成
data[0][0]=10; //将数据存储在第一行和第一列中(storing data in 1st row and
1st column)
data[0][1]=13; //将数据存储在第一行(1st)和第二列(2st)中
data[0][2]=11; //将数据存储在 1st 和 3st 中
data[1][0]=1; //将数据存储在 2st 和 1st 中
data[1][1]=5; //将数据存储在 2st 和 2st 中
data[1][2]=6; //将数据存储在 2st 和 3st 中
data[2][0]=15; //将数据存储在 3st 和 1st 中
data[2][1]=10; //将数据存储在 3st 和 2st 中
data[2][2]=12; //将数据存储在 3st 和 3st 中
上面的案例展示了如何存储数据或赋值到 data 数组。存储过程是通过相应行和列的索引来为数组分配值。如果我们以表格的形式可视化,data 数组将会是这样的,如表所示。
10 | 13 | 11 |
---|---|---|
1 | 5 | 6 |
15 | 10 | 12 |
除了上述方法之外,还可以在二维数组中声明值时对其进行初始化。下面是声明和初始化二维数组的过程。
除了上述方法之外,还可以在二维数组中声明值时对其进行初始化。
下面是声明和初始化二维数组的过程。
三、文件操作
当程序处理重要数据时,数据必须存储在文件中。这当然与将数据存储在只是临时的普通变量上有很大的不同。一旦程序关闭或计算机重新启动,存储在变量中的数据将丢失。文件中的数据存储是永久性的。这意味着即使程序关闭或计算机重新启动,存储在文件中的数据也不会丢失。
读取文本文件
读取文件通常是在程序执行相当大的处理时完成的。由于数据量大,不可能存储在数组或普通变量中。针对从文件中读取输入,Java 提供了 IO 库中的几个类
读取 Excel 文件
在学习如何读取文本文件之后,现在我们将学习如何读取 Excel 文件。阅读 excel 文件将使用一个外部库,即 Aphace POI。Apache POI 是一个 Java API,用于基于 Office Open XML 操作各种文件格式。标准(OOXML)和微软的 OLE 2 复合文档格式(OLE2)。简而言之,我们可以使用 Java 读写 MS Excel文件。此外,还可以使用 Java 读写 MS Word 和 MS PowerPoint。文件在使用 Apache POI 之前,必须先通过以下站点链接下载它,https://poi.apache.org/download.html
在上面的下载页面中,可以看到 Apache POI 的最新版本是 4.1.2。在 BinaryDistribution 部分选择文件 poi-bin-4.1.2-20200217.zip 并下载它。该文件包含用于读取 excel 文件的 Java APIs。下载文件后,必须提取所需目录中的文件。下图是已解压缩的 Apache POI 文件如图所示。
Apache POI 提供的 Java APIs 有几个类和接口,可以用来读取 excel 文件,包括.xls 和.xlsx 文件。图 6-2-13 将展示 Apache POI 提供的用于读取.xls 和.xlsx文件的接口和类。
将简要描述上图中的接口和类
要使用 Apache POI,必须将所有.jar 文件添加到项目中。
输入文本文件
除了文件读取操作,IO 库还提供了几个类,可用于执行文件输入操作(将数据存储到文本文件中 )。 用 于 在 文 本 文 件 中 存 储 数 据 的 类 有 File 、FileOutputStream 和PrintStream。
四、如何创建图表
信息或数据通常以图形形式表示,以便于阅读。作为一种非常流行的编程语言,Java 提供了许多可用于创建图形的库。这些库有些来自内部库,有些是由称为外部库的第三方开发的。本次将讨论如何使用 JFreeChart 创建图形。JFreeChart 是一个外部库,它是使用 Java 编程语言开发的,并且是开源的。此库可用于在所有基于 Java 的应用程序上创建 2D 或 3D 图形。
要使用 JFreeChart 库,首先,去maven仓库查询需要的依赖(网址:https://mvnrepository.com/)
第二步,打开项目中的pom.xml文件,将查询到的依赖坐标添加进去并保存。
第三步,等待依赖下载成功就可以使用了。