- 先栈后堆
声明 数组
格式:数组类型[] 数组名;
如 int[] array;
创建数组
格式:数组名 = new 数据类型[数组范围];
Ru:array = new int[10];
赋值
array[0]=1;
array[1]=12;
array[2]=24;
array[3]=28;
array[4]=29;
array[5]=21;
array[6]=52;
array[7]=32;
array[8]=42;
array[9]=72;
New之后在堆里开辟10个空间,但是每个空间都有一个初始值,赋值后初始值会变
2. 静态初始值:创建+赋值
数组类型[] 数组名 = {赋值}
Ru:int[] array = {12,34,45,......}
动态初始值:包含默认初始值0
数组类型[] 数组名 = new 数组类型[数组范围]
Ru:int[] array = new int[10]
赋值
array[0]=1;
注意:看到ArrayIndexOutOfBoundsException错误是因为下标越界,就是你的数组范围是10,但是数组从0读取,你访问11,43,就会报错。
总结:数组对象本身是在堆中;数组是相同数据类型(数据类型可以为任意类型)的有序集合;数组也是对象,数组元素相当于成员变量;数组长度是确定的,不可变。越界就报ArrayIndexOutOfBoundsException(下标合法区间[0,length-1])
二维数组
格式:数据类型[][] 数组名 = {{}};
Ru:int[][] array = {{1,2},{3,4}};
int[][] array={{6,8,9},{5,7,3},{22,5}};
谢谢大家阅读,写的不好的多多包涵,十分感谢!如有侵权,无意之举,告知删除!