一.数组的概念
数组是具有相同数据类型的一组数据的集合,例如球类的集合--足球,篮球,排球等。家用电器的集合--洗衣机,电视机,电风扇等。在程序设计中可以将这种集合看作数组。数组中的每个元素要具有相同的数据类型。Java中将数组看作对象,虽然基本数据类型不是对象(基本数据类型的包装类就是对象)。但是由基本数据类型组成的数组则是对象。在程序设计中引用数组可以更有效的管理和处理数据。就经常用到的数组包括一维跟二维数组等。
二.一维数组
1.创建一维数组
声明一个一维数组有两种方法
数组元素类型 数组名称 [ ]; 数组元素类型 [ ] 数组名称;
语法如下:
int(int类型)array(数组名称)[]; double [] dou;
声明完成一维数组后,还不可以立即访问,还要给他分配内存空间,指定数组长度。
数组名称 = new 数组元素类型 [数组元素个数]‘
数组名称:被链接到数组变量的名称;
数组元素个数:指定数组变量的个数;
为数组分配内存语法如下:
array = new int [5];//数组长度为5.
引用变量array引用这个数组,如下所示:
array:array[0],array[1,array[2],array[3],array[4];
中括号[]内的数字为元素下标,也叫索引,指定下标或索引即可找到该元素。
数组通过下标来区分不同元素,下标从0开始,由于创建array数组的长度为5,所以下标为0-4;
声明数组的同时也可以直接分配内存空间
数组元素类型 数组名 = new 数组元素类型[数组元素个数];
语法如下:
int month[ ] = new int[12];
上述代码表示创建数组month,并指定长度为12.这种写法为Java常用写法。
2.数组赋值
数组可以与基本数组类型一样进行初始化操作,也就是赋予初始值。数组的初始化可分别初始化数组的每一个元素。数组的初始化有以下三种方式:
3.获取数组长度
初始化数组的时候,都会在内存占用空间,内存空间的大小决定一维数组能够存放多少元素,也就是数组长度。如果不知道数组的长大小的话,可以使用数组的length属性,
int a = array.length
此时a的数值就是array数组的长度。
length:数组长度属性,返回值为int类型。
获取班级人数,代码如下:
4.数组的使用场景
数组是常见的一种数据结构。
打印一年中每个月的天数,代码如下:7
注:数组最常见的错误就是数组下标越界,例如
声明长度为3的数组a;
但是访问下标三时会发生运行时错误。
java.lang.ArrayIndexOutOfBoundsException: 3-- lang类型。数组下标越界异常:3
可以看到提示在代码第六行。
三.二维数组
上文提到一维数组的声明使用,但是如果元素过多,后面的元素查找困难,我们就可以把数组形成一个立体结构,就像酒店房间一样,大量房间分配到每一个楼层,形成一个二维表结构。
二维数组常用于表示二位表,表中的信息以行和列形式比爱是,第一个下标代表元素所在的行,第二个下标表示元素所在的列。
1.创建二维数组
二维数组可以看作是特殊一位数组,有两种声明方式:
数组元素类型 数组名称[ ] [ ] 数组元素类型 [ ] [ ] 数组名字;
声明二维数组,语法如下:
int array[ ] [ ];
char [ ] [ ] array;
同一维数组一样,二维数组同样使用new关键字来分配内存,然后才可以访问。
为二维数组分配内存有两种方式:
2.二维数组赋值
二维数组的初始化与一维数组类似,但不同的是,二维数组有两个下标,组成行列的矩阵。
使用三种方式初始化二维数组,代码如下:
二维数组的每一个元素就是一维数组,所以赋值方式,大括号内再加大括号。
数组维度不确定可以三维,四维,甚至更多
int a[][][] = new int[3][5][7]
char b [][][][] = new char[2][4][6][8]
double c[][][][][] = new double [1][3][5][7][9]
输出二维数组的元素,代码如下:
四.数组的基本操作
1.遍历数组
遍历数组就是获取数组中的每一个元素。通常遍历数组都是使用for循环来实现。遍历一维数组很简单也很好理解,下面详细介绍一下遍历二维数组。
遍历二维数组需要使用双层for循环,通过数组的length属性可以获取数组长度。
2.填充和批量替换数组元素
数组中国的元素定义完成后,可通过arrays类的静态方法fill()来对数组的元素进行分配,起到填充和替换的效果,语法如下:
Arrays.fill(int[] a,int value)
a 进行元素分配的数组
value 要存储数组中的所有元素的值。
将空数组填满数据,代码如下:
以上就是我们第四章Java数组的第一小节,感谢读者翻阅,辛苦小伙伴点个赞哦。