数组-二维数组(内存分布,相关运用)

数组-二维数组(内存分布,相关运用)

前言:平时用的数组机会也不少,但对二维数组的总结较少。对二维数组的内存分布更是没有了解过。今天对二维数组的内存分布和相关运用进行了重新认识和归纳。

 

二维数组—数组中的数组。

(在这之前,没有深入思考这句话。后悔莫及!!!)

 

格式一  例如:

int[][] arr = new int[3][2];

 

一、我们先来创建一个二维数组。

1、创建一个数组。new [];

2、这个数组里装的是什么。还是数组。new [][];

3、数组的数组(小数组)里装的是什么。是int元素。new int[][];

4、大数组里有几个小数组。new int[3][];

5、小数组里有几个元素。new int[3][2];

 

6、赋值符号左边定义一个数组类型变量。[] arr =

7、数组里装的是什么。还是数组。[][] arr =

8、小数组里装的什么元素。int[][] arr =

 

小结:对于格式一。创建一个二维数组,该数组中有3个一位数组,每一个一维数组中有2个元素。

 

格式二 例如:

int[][] arr = new int[3][];

arr[0] = new int[3];

arr[1] = new int[1];

arr[2] = new int[2];

 

二、对格式二的深入认识。

1、二维数组中创建了3个数组。

2、每个二维数组都是默认初始化值null。

3、可以对这三个二维数组分别进行初始化。(每个一维数组有多少个元素不定。)

 

三、二维数组的内存简述。

1、大数组中创建时,会为其“元素”默认初始化为null。因为小数组为实体,不存在时用null来表示空引用(指向)。

2、实体在内存堆中都有独立的空间分配。

3、对于“int[][] arr = new int[3][2];”,相当于在堆中创建了四个一维数组,大数组中装的是小数组的地址,小数组中装的是int元素。

 

四、二维数组的静态初始化。

int[][] arr = {{2,3,1},{66},{84,2,44,30,92}};

 

五、二维数组的长度获取方式。

arr.length  //表示小数组的个数。

arr[1].length  //表示二维数组中角标为1的小数组的元素个数。

 

六、二维数组的遍历。

需要for的嵌套使用。

For(intx=0;x<arr.length;x++)

{

   For(int y=0;y<arr[x].length;y++)

{

   System.out.print(“arr[“+x+”][“+y+”]="+arr[x][y]);

}

System.out.println();

}

 

七、二维数组什么时候用?

记住一个规律:

数据多了——用数组。

数组多了——用二维数组。

(当然用map集合大多数能取代二维数组。)

 

 

 

 

 

如有好的建议,可留言或发至笔者邮箱:fzb_xxzy@163.com

 

 

 

 

 

 

 

 

 

 

 

 

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值