一维数组
1)int[] a; //声明,没有初始化
2)int[] a=new int[5]; //初始化为默认值,int型为0
3)int[] a={1,2,3,4,5}; //初始化为给定值
4)int[] a=new int[]{1,2,3,4,5}; //同(3)
int[] a=new int[5]{1,2,3,4,5}; //错误,如果提供了数组初始化操作,则不能定义维表达式
5)int[] a;
a=new int[5]; //正确,同(2)一样
int[] a;
a={1,2,3,4,5}; //错误,数组常量只能在初始化操作中使用
6)int a[];
a[0]=1; //错误,因为数组没有初始化,不能赋值
a[1]=2;
二维数组
1)int[][] a; //声明,没有初始化
2)int[][] a=new int[2][3]; //初始化为默认值,int型为0
3)int[][] a={{1,2},{2,3},{3,4}}; //初始化为给定值
int[][] a={{1,2},{2,3},{3,4,5}}; //没有错,数组空间不是连续分配的,所以不要求每一维的大小相同
4)int[][] a=new int[2][];
a[0]=new int[3]; //a[0]其实就是一个数组
a[1]=new int[4]; //每一维的大小可以不一样;
5)int[][] a=new int[][]{{1,2},{2,3},{3,4,5}}; //同(3)
int[] a=new int[5]{{1,2},{2,3},{3,4,5}}; //错误,如果提供了数组初始化操作,则不能定义维表达式
int[][] a=new int[2][];
a[0]={1,2,3,4,5}; //错误,数组常量只能在初始化操作中使用
6)int[][] a=new int[2][];
a[0][1]=1; //错误,第二维没有初始化,不能赋值,java.lang.NullPointerException异常
总结: 1.二维就是数组的数组,里面的数组大小不要求一样
2.不管一维还是二维,在使用前(赋值,访问)必须初始化,可以用new默认初始化,也可以用数组常量初始化
1)int[] a; //声明,没有初始化
2)int[] a=new int[5]; //初始化为默认值,int型为0
3)int[] a={1,2,3,4,5}; //初始化为给定值
4)int[] a=new int[]{1,2,3,4,5}; //同(3)
int[] a=new int[5]{1,2,3,4,5}; //错误,如果提供了数组初始化操作,则不能定义维表达式
5)int[] a;
a=new int[5]; //正确,同(2)一样
int[] a;
a={1,2,3,4,5}; //错误,数组常量只能在初始化操作中使用
6)int a[];
a[0]=1; //错误,因为数组没有初始化,不能赋值
a[1]=2;
二维数组
1)int[][] a; //声明,没有初始化
2)int[][] a=new int[2][3]; //初始化为默认值,int型为0
3)int[][] a={{1,2},{2,3},{3,4}}; //初始化为给定值
int[][] a={{1,2},{2,3},{3,4,5}}; //没有错,数组空间不是连续分配的,所以不要求每一维的大小相同
4)int[][] a=new int[2][];
a[0]=new int[3]; //a[0]其实就是一个数组
a[1]=new int[4]; //每一维的大小可以不一样;
5)int[][] a=new int[][]{{1,2},{2,3},{3,4,5}}; //同(3)
int[] a=new int[5]{{1,2},{2,3},{3,4,5}}; //错误,如果提供了数组初始化操作,则不能定义维表达式
int[][] a=new int[2][];
a[0]={1,2,3,4,5}; //错误,数组常量只能在初始化操作中使用
6)int[][] a=new int[2][];
a[0][1]=1; //错误,第二维没有初始化,不能赋值,java.lang.NullPointerException异常
总结: 1.二维就是数组的数组,里面的数组大小不要求一样
2.不管一维还是二维,在使用前(赋值,访问)必须初始化,可以用new默认初始化,也可以用数组常量初始化