数组的声明与创建
数组的声明语法:
元素数据类型[ ] +数组名; ( java中支持像C语言一样将[ ]写在数组名后,但是不推荐 )
//数组内元素为Int类型例
int[] a ;
数组被声明后,栈中有该数组位置
数组的创建语法:
数组名 = new 元素数据类型[ 元素数目n ]
//声明
int a[];
//创建
a = new int[10];
创建后会在堆中开辟n个元素所需空间。
array.length代表数组长度n
声明与创建一起写
int a[] = new int[10];
数组初始化的三种方式
静态初始化
如下
int[] a={0,1,2,3,4,5,6,7,8,9};
是指在创建数组是就对该数组中元素进行赋值,写几个元素就会在堆中开辟多少的空间。
大括号中有0到9十个数,就开辟了十个int类型的空间。
动态初始化
int[] a = new int[10];
a[0] = 1;
a[1] = 2;
动态初始化先分配空间,在后面对元素进行赋值。
默认初始化
是动态初始化的一种
数组是引用类型,他的元素相当于类的实例变量,因此一经已经分配空间,其中的每个元素也按照实例变量同样的方式被隐式初始化
就像上面代码只对a[0],a[1]赋值,则此时a[2],a[3],a[4],a[5],a[6],a[7],a[7],a[8],a[9]的值均为0。
下标越界报错
数组长度是确定的不可变的,如果越界,则报错:ArrayIndexOutofBoundsException