首页 > 编程 > Java > 正文

Java学习_数组1_二维数组内存图解

2019-11-10 22:27:15
字体:
来源:转载
供稿:网友
假设有一个二维数组 int [][]a=new int[3][2];//有三个一维数组,并且没有被赋值1.当我们编译运行后,main方法首先进栈,然后分配一个二维数组变量2.在堆内创建一个实体,其有一个地址假设为0x0011,然后分配连续的三块空间,里面有3个一维数组,一维数组是引用数据类型的,所以有默认初始化值null,每个一维数组中还有两个元素,这两个元素并不是存在这个一维数组中的,这三个一维数组,都有自己独立的空间地址,其里面存储的是其对应的两个元素的地址3.紧接着创建二维数组中存储数据的第一个一维数组,其会分成两块空间,并且会把其地址赋值给存储地址的第一个一维数组。然后创建存储数据的第二个一维数组,并且把该数组值赋值给存储地址的第二个数组。最后创建存储数据的第三个一维数组,并且把该数组值赋值给存储地址的第三个数组。System.out.PRintln(a);//打印的是二维数组的地址0x0011System.out.println(a[0]);//打印的是一维数组的地址0x0022System.out.println(a[0][0]);//打印的是一维数组的值0
发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表