一、一维数组
1、理解数组
数组是用来存储一组相同类型数据的数据结构。
当数组初始化完毕后,java为数组在内存中分配一段连续的空间,其在内存中开辟的空间也将随之固定,此时数组的长度就不能在改变。即使数组中没有保存任何数据,数组所占据的空间依然存在。
2、定义数组
定义数组的两种方法:
(1)数据类型[]数组名=new 数组类型[数组长度];
(2)数据类型数组名[]=new 数组类型[数组长度];
规则
(1)定义数组是一定要指定数组名和数组类型。
(2)必须书写“[]”,表示定义了一个数字,而不是一个普通的变量。
(3)“[数组长度]”决定连续分配空间的个数,通过数组的length属性可获得次长度。
(4)数组的数据类型用于确定分配的每个空间的大小。
3、数组元素的表示和赋值
获得数组元素的语法格式:
数组名[下标值]=具体值
4、数组的初始化
数组初始化就是在定义数组的同时一并完成赋值操作。
数组初始化的语法格式:
数据类型[]数组名={值1,值2,值2,.......,值n};
或者
数据类型[]数组名=new 数据类型[]{值1,值2,值2,.......,值n};
注:数组下标从0开始,而不是从1开始。如果访问数组元素是指定的下标小于0,或者大于等于数组的长度,都将出现数组下标越界异常。
5、遍历数组
在编写程序是,数组和循环往往结合在一起使用,可以大大地简化代码,提高程序的编写效率。通常使用for循环遍历数组。
在日常使用数组的开发中,除了定义、赋值和遍历操作之外,还有很多其他操作。例如,对数组进行添加、修改、删除操作。
二、二维数组
二维数组就是一个一维数组,它的每一个元素又是一个一维数组。
1、二维数组的使用
(1)初始化二维数组
语法格式
int[][] scores=new int[][]{{90,85,92,78,54},{76,63,80},{87};
或者
int scores[][]={{90,85,92,78,54},{76,63,80},{87};
(2)二维数组的遍历
第一步,初始化整型二维数组;
第二步,定义保存总成绩的变量;
第三步,使用for循环遍历二维数组;
2、Arrays类
JDK中 提供了一个专门用于操作数组的工具类,即Arrays类,位于java.util包中,该类提供了一系列方法类操作数组,如排列、复制、比较、填充等,用户直接调用这些方法即可,不需自己编码实现,降低了开发的难度。
(1)比较两个数组是否相等
Arrays类的equals()方法用于比较两个数组是否相等。只有当两个数组相等,对应位置的元素也一一相等时,该方法返回true,否则返回false。
(2)对数组的元素进行升序排列
Arrays类的sort()方法对元素进行升序排列,及从大到小的顺序排列。
(3)将数组转换成字符串
Arrays类中提供了专门输出数组内容的方法——toString()方法。该方法用于将一个数组转换成字符串。它按顺序把多个数组元素连在一起,多个数组元素之间使用英文逗和空格隔开。利用这种方法可以很清楚地观察到各个数字元素的值。
(4)将数组所有元素赋值为相同的值
Arrays类的fill(array,val)方法用于把数组array的所有元素都赋值为val。
(5)将数组赋值成一个长度为设定的新数组
初始化一个整型一维数组,使用Arrays类的copyOf()方法把数组复制成一个长度为设定值的新数组。
(6)查询元素在数组中的下标
Arrays类的binarySearch()方法用于查询数组元素在数组中的下标。调用该方法时要求数组中的元素已经按升序排列,这样才能得到正确的结果。