CSY Java基础复习——数 组
数组的概述
1、数组(Array),是多个相同类型数据按一定顺序排列的集合,并使用一个名字命名,并通过编号的方式对这些数据进行统一管理。 2、数组本身是引用数据类型,而数组中的元素可以是任何数据类型,包括基本数据类型和引用数据类型。 3、创建数组对象会在内存中开辟一整块连续的空间,而数组名中引用的是这块连续空间的首地址。 4、数组的长度一旦确定,就不能修改。 5、我们可以直接通过下标(或索引)的方式调用指定位置的元素,速度很快。 注意:当一个对象使用关键字“new”创建时,会在堆上分配内存空间,然后返回对象的引用,这对数组来说也是一样的,因为数组也是一个对象
数组的分类
按照维度:一维数组、二维数组、三维数组、… 按照元素的数据类型分:基本数据类型元素的数组、引用数据类型元素的数组(即对 象数组)
一维数组
动态初始化:数组声明且为数组元素分配空间与赋值的操作分开进行 静态初始化:在定义数组的同时就为数组元素分配空间并赋值。
数组元素的引用
数组只有运用new关键字分配空间后才能引用数组中的每个元素。不然只是声明则无法引用。 数组元素的引用方式:数组名[数组元素下标] 数组元素下标可以是整型常量或整型表达式。如a[3] , b[i] , c[6*i]; 数组元素下标从0开始;长度为n的数组合法下标取值范围: 0 —>n-1;如int a[]=new int[3]; 可引用的数组元素为a[0]、a[1]、a[2] 每个数组都有一个属性length指明它的长度,例如:a.length 指明数组a的长度(元素个数) 数组一旦初始化,其长度是不可变的 数组是引用类型,它的元素相当于类的成员变量,因此数组一经分配空间,其中的每个元素也被按照成员变量同样的方式被隐式初始化。
对于基本数据类型而言,默认初始化值各有不同 对于引用数据类型而言,默认初始化值为null(注意与0不同!)
一维数组的使用
扩展——JVM内存简化结构
多维数组
对于二维数组的理解,我们可以看成是一维数组array1又作为另一个一维数组array2的元素而存在。其实,从数组底层的运行机制来看,其实没有多维数组。