数组
1、数组是一种引用类型
2、数组是一种简单的数据结构,线型的结构
3、数组是一个容器,可以用来储存其他元素
数组是可以存储任意数据类型的元素
4、数组分为:一维数组,二维数组,三维数组,多维数组
5、数组中存储的元素类型是统一的
6、数组长度不可改变,数组一旦创建长度是不可变的,固定的
7、数组拿首元素的内存地址作为数组对象的内存地址
8、数组中每一个元素都是有下标的,有索引的,从0开始,任何一个数组都有一个length属性用来获取数组中元素的个数。
9、数组最后一个元素的下标是整个数组的长度减1,即length-1
10、数组通过元素的下标获取元素
取得第一个元素,a1[0]
取得最后一个元素:a1[a1.length-1]
11、数组优点:查找效率高
缺点:随意的增减元素效率比较低
12、数组中存储元素的类型是统一的,每一个元素在内存中所占的空间大小是相同的,指定数组的首元素的内存地址,要查找的元素只要知道下标就可以快速的计算出偏移量,通过首元素内存地址加上偏移量、快速计算出要查找元素的内存地址,通过内存地址快速定位该元素,所以数组查找元素的效率较高。
13、随机的对数组进行增删元素,当增加元素的时候,为了保证数组中元素在空间存储上是有序的,所以被添加元素位置后面的所有元素都要向后移动删除元素也是,后面所有的元素要向前移动,所以数组的增删元素的效率很低。
14、 初始化一位数组有两种方式
静态初始化
动态初始化
15、动态初始化一维数组,会先在堆内存中分配这个数组,并且数组中每个元素都采用默认值
byte,short,int,long 0;
float,double 0;
boolean false;
char \u0000;
应用数据类型 null;
16、什么时候使用动态初始化,什么时候使用静态初始化
*无论是动态初始还是静态初始化,最终内存分别都是一样的
*如果在创建数组的时候,知道数组中应该存储什么数据,这个时候当然采用静态初始化方式。如果在创建数组的时候,无法预测到数组中存储什么数据,只是先开辟空间,则使用动态初始化方式