Java中一维数组的语法及初始化:
1、一维数组的语法:
(1)java语言中的数组是一种引用数据类型,不属于基本数据类型。数组的父类是Object。
(2)数组实际上是一个容器,存放一组相同类型的数据。
(3)数组当中可以存储“基本数据类型”的数据,也可以存储“引用数据类型”的数据。
(4)数组因为是引用类型,所以数组对象是在堆内存当中,数组变量保存了对象的地址。
(5)数组存储的是引用类型的话,实际上每个元素存储的都是对象的引用地址。
(6)在java中,数组一旦创建,长度不可变。
(7)数组分为:一维数组,二维数组,多维数组(一维数组使用最多,二维数组使用较少,多维数组几乎不用)。
(8)所有的数组对象都有length属性(java自带的),用来存储数组中元素的个数。
(9)一个数组中只能存储相同数据类型,int型数组只能存int数据,Person型数组只能存Person类型数据。
(10)数组在内存方面存储的时候,数组的元素内存地址是连续的,紧挨着的。数组是一种简单的数据结构。
(11)所有的数组都是拿第一个元素的内存地址作为整个数组对象的内存地址。
(12)数组中每一个元素都是有下标的,下标从0开始,以1递增,最后一个元素下标是length - 1。
下标在数组中非常重要,我们就是通过下标的概念来存储和访问数组的元素。下标只能从0到length - 1,一定要注意下标范围,不然会出现数组越界异常。
2、数组这种数据结构的优点和缺点是什么?(重点)
优点:
查询/查找/检索某个下标上的元素效率极高,可以说是查询效率最高的一个数据结构。
为什么数组检索效率高?
(1)每一个元素的内存地址在空间存储上是连续的。
(2)每一个元素类型相同,所以占用空间大小一样。
(3)知道第一个元素的内存地址,知道每一个元素的内存大小,又知道下标,所以通过一个数学表达式就可以计算出某个下标的元素的内存地址,例如: 假设第一个元素的地址是200,元素大小是6,那么下标1的元素地址就是: 200+1*6,即206。直接通过内存地址定位到元素,所以说数组的检索效率是最高的。
缺点:
第一:由于为了保证数组中每个元素的内存地址连续,所以在数组中随机删除或者增加元素的时候,效率较低,因为增删元素会设计后面元素统一向前或者向后移位操作。
第二:数组不能存储太多数据量,因为很难在内存空间上找到一块特别大的连续内存空间。
3、怎么声明定义一个一维数组?
int[] array1;
boolean[] array2;
String