谈论java数组
java数组是引用类型,可以分为一维数组,二维数组,三维数组等
java数组初始化以后默认值是0;数组一旦创建,长度便不可改变。
一维数组
初始化:分为静态初始化和动态初始化;
静态初始化;
int a[]=new int[]{1,2,3,4,5};
int b[]={1,2,3,4,5};
动态初始化:
int a[]=new int[2];
a[0]=5;
a[1]=4;
int b[];
b=new int[]{1,2,3,4,5,6};
二维数组
初始化:
int a[][]=new int[][]{{1,2,3,},{5}};
小编在这里给大家出一道题
int a[][] = new int[2][];
a[1][0] = 2;
a[0][1] = 3;
System.out.println(a[0][1]);
输出是多少,是不是有人会回答是2;
那可就大错特错了,
Exception in thread "main" java.lang.NullPointerException
at G.main(G.java:13)
终端为甚麽会显示是空指针异常呢,我明明都给a[0][1]赋值了,怎末还会空指针异常,这里就是一个陷阱;
因为一开始的时候只是初始化了a[];并没有初始化a[][],所以编译会报错
int a[][] = new int[2][];
a[1]=new int[2];
a[0]=new int[3];
a[1][0] = 2;
a[0][1] = 3;
System.out.println(a[0][1]);
int a[][] ;
a=new int[2][2];
a[1][0] = 2;
a[0][1] = 3;
System.out.println(a[0][1]);
这两种才是真确的,大家在初始化二维数组的时候千万不要忘记了初始化a[],不然就会出错。