数组
相同类型数据的有序集合
通过下标来访问
声明数组变量
dataType[] arrayRefVar;
分配空间
dataType[] arrayReVar = new dataType[arraySize];
数组的元素通过索引访问,数组索引从0开始
获取数组长度: arrays.length
java内存
-
堆
存放new的对象和数组
-
栈
存放基本变量类型
数组的四个基本特点
-
长度时确定的。一旦被创建,大小就不可以改变
-
元素必须时相同类型,不允许混合类型
-
元素可以时任何数据类型,包括基本类型和引用类型
-
数组变量属于引用类型,数组对象本身在堆中
数组边界
下标的合法区间:[0,length-1],如果越界就会报错
ArrayIndexOutOfBoundsException:数组下标越界异常
小结:
数组是相同数据类型的有序集合
数组也是对象。数组元素相当于对象的成员变量
数组长度是确定的不可改变的。
多维数组
多维数组可以看成数组的数组
二维数组
int a [] [] = new int [2] [5]
冒泡排序
嵌套循环
时间复杂度O(n2)
稀疏数组
当一个数组中的大部分元素为0时,可以用稀疏数组
记录数组共有几行几列,有多少不同值
把这些值记录在小规模的数组中,从而缩小程序规模