在堆内存中,通过new关键字开辟一片连续的空间,该空间一经建立将无法改变大小。
数组类型可以是八大基本类型,也可以是类型的,如Integer类,Double类,自定义的类型等。
一维数组的声明方式:
int []a;//先声明数组名 a=new int[10];//再进行空间的分配 int []a,b,c,d;//其中a,b,c,d都是一维数组名 int a[],b,c,d;//其中除了a是数组名,而b,c,d都是int型的变量名 int []a1=new int[10]; //动态声明,创建时每个默认为零 int []a2={0,1,2,3,4,5,6,7,8,9}; //静态创建,创建时就进行赋值操作 int []a3=new int[]{0,1,2,3,4,5,6,7,8,9};
二维数组的声明方式:
可以看做将多个一维数组装到一个确定的一维数组,该一维数组的每一个元素便是一个一维数组。
/* 行 0 1 列 {0 0 0 0 0} {0 0 0 0 0} */ int[][] a2 = new int[2][5];//同时确定行数和列数 int[][] a1 = new int[3][];//先声明行数 a1[0]=new int[3]; //在给每行分别单独给定列数 a1[1]=new int[2]; a1[2]=new int[2]; int[][]a3=new int[][]{{1,2},{3,4,5}};//根据赋值的情况来自动分配行数列数 int[][]a4={{1,2,3},{4,5,6},{4,5,8,9,6}};
使用数组名加下标即可完成对指定元素的访问
int A=a[0]; //及通过下表访问数组中指定的元数
下面是通过for循环和下标配合完成对二维数组中元素的逐个访问
for (int i=0;i<a4.length;i++){ for(int l=0;l<a4[i].length;l++) System.out.println(a4[i][l]); }
使用增强for循环来输出
for(int []l :a4) for(int k:l) System.out.println(k);
还可以使用Arrays.ToString();方法来输出元数
System.out.println(Arrays.toString(a4)); System.out.println(Arrays.toString(a4[0])); System.out.println(Arrays.toString(a4[1])); System.out.println(Arrays.toString(a4[2]));