在java中数是静态的,并不像javascript那样,数组可以随着动态添加元素或直接设定数组的长度来改变数组的大小。在使用java数组前,必须经过初始化,所谓的初始化就是为数组元素分配内存空间,并为数组元素设定初始值。
在java中数组的初始化分为两种:
静态初始化:直接显示的为数组中各个元素指定初始值。 如:String[] args={"java","hello","array"};
或者 String[] args=new String[]{"java","hello","array"}
动态初始化:只需指定数组长度,有系统指定初始值(为元素默认值); 如: int[] arr=new int[3];
所谓的java数组初始化,实质初始化的为数组本身,而不是数组变量;只要该数组变量指向的数组初始化完成,即可使用数组变量。
如:String[] str={"hello","java","prototype"};
String[] arr=str;
System.out.println(arr[0]);
实际在java中所有的引用类型变量都不需要经过初始化,而需要初始化的是引用类型本身,如数组,对象,接口等;
java数组在内存中的情况
java数组变量为一种引用类型的变量,数组本身存储在堆内存里面,而数组变量作为指向该数组的指针存储在栈内存里边(指针也可存储在堆内存里面,如数组中的元素为对象时);