一、一维数组的(声明+赋值)初始化
声明:type var[]; 或 type[] var;(示例:int[] age;)
初始化:
①动态初始化:声明且为数组元素分配空间,与赋值的操作分开进行
int[] arr = new int[3];(分配数组长度为3,下面再对其进行赋值)
②静态初始化:在定义数组的同时就为数组元素分配空间并赋值
int arr[] = new int[]{ 3, 9, 8};或者int[] arr = {3,9,8};
两种无区别,只是语法的简化,具体解释可点击这里查看
③数组一旦初始化,其所分配的空间不可变,即数组长度不可变
二、一维数组的引用(索引)
格式:数组名[数组元素下标]
①数组元素下标可以是整型常量或整型表达式,如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的长
度(元素个数)
三、数组元素的默认初始化值
数组是引用类型,它的元素相当于类的成员变量,因此数组一经分配空间,其中的每个元素也被按照成员变量同样的方式被隐式初始化。
public class Test { public static void main(String argv[]){ int a[]= new int[9]; System.out.println(a[6]); //a[6]的默认值为0 } }
①对于基本数据类型而言,默认初始化值各有不同
②对于引用数据类型而言,默认初始化值为null(注意与0不同)
四、一维数组内存解析
因为数组是引用数据类型,建立对象时(初始化),数组元素实体放在堆内存中,当引用变量时,通过栈内存中变量所存储的对应数组首地址值找到堆内存中的数组元素实体。