一维数组数组的基本语法
Array
1.Java语言中的数组是一种引用数据类型。不属于基本数据类型。数组的父类是Object
2.数组实际上是一个容器,可以同时容纳多个元素(数组是一个数据的集合)。数组:字面意思是”一组数据“
3.数组当中可以储存”基本数据类型“的数据,也可以储存”引用数据类型“的数据
4.数组因为是引用类型,所以数组对象是在对内存当中。(数组是储存在堆当中的)
5.数组当中如果储存的是”Java对象“的话,实际上储存的是对象的”引用(内存地址)“,数组中不能直接储存java对象
6.数组一旦创建,在Java中规定,长度不可变(数组长度不可变)。
7.数组的分类:一维数组,二维数组,三维数组,多维数组(一维数组使用较多,二维数组偶尔使用)
8.所有的数组对象都有length属性(Java自带的),用来或许数组中元素的个数。
9.Java中的数组要求数组中的元素的类型统一。比如说int类型数组只能储存int类型数据,Person类型数组只能储存Person类型(数组中储存的元素类型统一)
例如:超市购物,购物袋只能装苹果,不能同时装苹果和橘子
- 数组在内存方面储存的时候,数组中的元素内存地址(储存的每一个元素都是有规则的挨着排列的)是连续的。内存地址连续这是数组存储元素的特点。数组实际上是一种简单的数据结构
- 所有的数组都是拿“第一个小方框的内存地址”作为整个数组对象的内存地址。(数组中首元素的内存地址作为整个数组对象的内存地址)
12.数组中每一个元素都是有下标的,下标从0开始,以1递增。最后一个元素的下标是:length-1
13.数组这种数据结构的优点和缺点是什么?
优点:查询/查找/检索某个下标上的元素时效率极高。可以说是查询效率最高的一个数据结构。
为什么检索效率高?
第一:每一个元素的内存地址在空间储存上是连续的
第二:每一个元素类型相同,所以占用空间大小一样
第三:知道第一个元素内存地址,知道每一个元素占用空间的大小,有知道下标,所以通过一个数学表达式就可以计算出某个下标上元素的内存地址。直接通过内存地址定位元素,所以数组的检索效率是最高的
缺点:
第一:由于为了保证数组中的每个元素的内存地址连续,所以在数组上随即删除或者随机增加元素的时候,效率比较低,因为随机增删元素会涉及到后面的元素统一向前或者向后位移的操作。
第二:数组不能储存大数据量,为什么?
因为很难在内存空间上找到一块特别大的连续的内存空间。
注意:对于数组中最后一个元素的增删,是没有效率影响的。
14.怎么声名/定义一个一维数组?
语法格式:
int 【】 array1;
double【】 array2;
boolean【】 array3;
String【】array4;
Object【】array5;
15.怎么初始化一个一维数组呢?
包括两种方式:静态初始化一维数组,动态初始化一维数组
静态初始化语法格式:
int【】array={12,3,4,5,12,3,};
动态初始化语法格式:
int 【】array=new int【5】;//这里的5表示数组的元素个数
//初始化一个5长度的int类型数组,每个元素默认值0
String 【】 names=new String【6】;
//初始化6个长度的String类型数组,每个元素默认值为null