核心思想:
对于任意类型X,X[ ]就是一个数组,将X[ ]作为一个数据类型,X[ ][ ]就是二维数组。
1、一位数组
定义:
int [ ] a;未分配空间
初始化:
int [ ]a={1,2,3};
此时a是一个引用,指向一个空间,空间里存储数组与数组长度。(与c++不同,c++中的数组不知道其长度)。
访问方式:
a[2];
举例:
int []a={1,2,6};
for(int i=a.length-1;i>=0;i--)
System.out,print(" "+a[i]);
分配空间:
int [ ]a;//此时a指向一个NULL
a=new int [3];//已分配空间
匿名数组:
int [ ] a;
a=new int [ ]{1,2,5};
举例:数组作为函数参数传递
public static void setValue(int [] a,int v)
{
for(int i=0;i<a.length;i++)
a[i]=v;
}
二维数组
定义:
int[ ][ ] a;
int[ ] a[ ];
int a[ ][ ];
初始化:
int[ ][ ] a={{1,2},
{2,3}};
举例:
int[][] a={{1},{1,2},{1,2,3}};
for(int i=0;i<a.length;i++)
{
for(int j=0;j<a[i].length;j++)
System.out.println(" "+a[i][j]);
}
动态初始化:
int[ ][ ] a;
a=new int[3][ ];
a[0]=new int[1];
a[1]=new int[2];
…
int [ ][ ]a;
a=new int [3][4];
数组类:
java.util.Arrays