Java 数组内存分配方式

来源:互联网 发布:浪人网络 编辑:程序博客网 时间:2024/04/27 20:08

Java中,声明数组的语法有两种:

1.数据类型 数组名[];

2.数据类型[] 数组名;

例如:

int a[]; 与 int[] a;都是表示声明了一个整型数组a

二维数组的声明也类似。


来看看二维数组存分配方式:

例如:int a[][] = new int[2][3];

其内存空间分配示意图如下:


我画的图很丑,我想表示的意思是要注意:a.length是等于2,而不是2*3


再来个示例代码说明一下:

int a[] = new int[]{10,20,30,40,50};System.out.println("a length:"+a.length);for(int i:a){System.out.println(i);}int b[][] = new int[3][4];System.out.println("b length:"+b.length);for(int i=0;i<b.length;i++){for(int j=0;j<b[i].length;j++){System.out.println("b["+i+"] length:"+b[i].length);}}int c[][] = new int[3][];c[0] = new int[2];c[1] = new int[3];c[2] = new int[2];System.out.println("c length:"+c.length);for(int i=0;i<c.length;i++){for(int j=0;j<c[i].length;j++){System.out.println("c["+i+"] length:"+c[i].length);}}
输出结果:a length:51020304050b length:3b[0] length:4b[0] length:4b[0] length:4b[0] length:4b[1] length:4b[1] length:4b[1] length:4b[1] length:4b[2] length:4b[2] length:4b[2] length:4b[2] length:4c length:3c[0] length:2c[0] length:2c[1] length:3c[1] length:3c[1] length:3c[2] length:2c[2] length:2




0 0