数组概述
- 数组定义
数组是相同类型数据的有序集合。数组描述的是相同类型的若干个数据,按照一定的先后次序排列组合而成。其中每一个数据称为一个数组元素,每个数组元素可以通过一个下标来访问他们。 - 数组声明创建
声明有两种方式:dataType[ ] varName 与 dataType varName[ ] 推荐使用第一种。
int[] num;//推荐使用
int num2[];
创建:dataType[ ] varName = new dataType[arraySize];
int[] num = new int[10];//声明并创建一个变量名为num的数组,并为其开辟10个空间,用来存在10个int类型的数据
int[0] = 1;//为下标为0的元素赋值,如果没有元素没有赋值,就是数组中数据类型的默认值,int的默认值为0
int[1] = 2;
- 数组初始化有三种方式:
1、静态初始化
int[] a = {1,2,3,5,6,77}
;
2、动态初始化
int[] b = new b[2];
b[0] = 1;
b[1] = 2;
3、默认初始化:数组是引用类型,它的元素相当于类的实例变量,数组一经分配空间,数组元素就和类的实例变量一样被隐式初始化了。数组默认初始化的值,是数组声明时数据类型的默认值。
获取数组长度 :array.length
- 数组的特点
1、数组的长度是确定的。数组一经创建,大小不能被改变;
2、数组中的元素都必须是相同的数据类型;
3、数组中的元素可以是任何类型,包括基本数据类型和引用数据类型;
4、数组变量是引用数据类型,数组也是对象,数组中的每个元素相当于该对象的成员变量。在Java中对象是在堆中的,因此数组无论保持原始类型还是其他对象类型,数组元素都是在堆中存在的。 - 数组下标越界
1、数组的合法区间是0~array.length-1
2、数组下标越界是开始学Java时常遇到的问题,数组下标越界报的异常:ArrayIndexOutOfBoundsException
多维数组
一维数组是定义的相同数据类型的一组数,多维数组可以看成是数组的数组。二维数组的数组元素是 一个一维数组。定义一个int类型的二维数组:
int[][] a = new int[2][2];
可以将二维数组比作高楼,每一层就是二维数组中的一个元素,即一个一维数组,每层楼的每个房间就是一维数组中的每个元素。
Arrays类
Arrays类在java.util包中,包含了各种操作数组的方法
toString():打印数组
sort():数组排序(升序)
file():为数组元素填充值
稀疏数组
狂神说Java :https://www.bilibili.com/video/BV12J41137hu?p=59