与C、C++不同,Java在定义数组时并不为数组元素分配内存,因此[ ]中无需指定数组元素的个数,即数组长度。
定义一个数组有两种方式:
int[] array;
int array[];
对于如上定义的一个数组是不能访问它的任何元素的,我们必须要为它分配内存空间:
1、通过 new 关键字创建,指定数组长度。属于动态初始化。
int[] array = new int[6];
2、通过 new 关键字创建,直接指定元素。属于静态初始化。
int[] array = new int[]{1,2,3,4,5,6};
3、直接指定元素。属于静态初始化。
int[] array = {1,2,3,4,5,6};
上面讲的是静态数组。静态数组一旦被声明,它的容量就固定了,不容改变。所以在声明数组时,一定要考虑数组的最大容量,防止容量不够的现象。
如果想在运行程序时改变容量,就需要用到数组列表(ArrayList,也称动态数组)或向量(Vector)。
正是由于静态数组容量固定的缺点,实际开发中使用频率不高,被 ArrayList 或 Vector 代替,因为实际开发中经常需要向数组中添加或删除元素,而它的容量不好预估。