A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

本帖最后由 张云飞 于 2013-8-22 21:09 编辑

视频学习中,打印二维数组的引用,即打印出那个满富含义的字符串。玩迷糊了
  1. class Sign{
  2.         public static void main(String args[]){
  3.                 int[][] arr = new int[2][3];                //定义一个二维数组
  4.                 System.out.println("arr    "+arr);        //打印1
  5.                 System.out.println("arr[0]  "+arr[0]);        //打印2
  6.                 System.out.println("arr[1]  "+arr[1]);        //打印3
  7.         }
  8. }
复制代码
打印1结果:


下边是栈、堆中的分布


根据打印结果,[代表数组,I代表数组中存放的类型,@后边的便是对象在栈中的地址。对于这个地址有点不懂
1、arr和arr[0]在堆中的地址为什么不一样?
2、我运行了多次,观察结果 :变化了,不过也有点规律。
操作系统、组成原理学的不太好,希望得到指示,谢谢!!!




评分

参与人数 1技术分 +1 收起 理由
EYE_SEE_YOU + 1 恩,对的

查看全部评分

2 个回复

倒序浏览
int[][] arr = new int[2][3];
哥哥,我给你打个比喻吧,
arr是大楼门牌,arr[]是楼层数,arr[][]是房间号
所以每个地方都有不同的地址
arr是二维数组名,arr[]是一维数组名,arr[][]是数组中的元素

评分

参与人数 1技术分 +1 收起 理由
黄兴旺 + 1 很给力!

查看全部评分

回复 使用道具 举报
EYE_SEE_YOU 发表于 2013-8-22 20:33
int[][] arr = new int[2][3];
哥哥,我给你打个比喻吧,
arr是大楼门牌,arr[]是楼层数,arr[][]是房间号

三块不同的地方,所以不可能相同。再者,相同就完蛋了。是这样吧?版主,三克油!!!

评分

参与人数 1技术分 +1 收起 理由
黄兴旺 + 1

查看全部评分

回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马