`
cakin24
  • 浏览: 1388578 次
  • 性别: Icon_minigender_1
  • 来自: 西安
社区版块
存档分类
最新评论

两张内存变化图揭秘二维数组的初始化

    博客分类:
  • java
阅读更多

一 代码示例

public class TwoDimensionTest
{
	public static void main(String[] args)
	{
		// 定义一个二维数组
		int[][] a;
		// 把a当成一维数组进行初始化,初始化a是一个长度为4的数组
		// a数组的数组元素又是引用类型
		a = new int[4][];  //a
		// 把a数组当成一维数组,遍历a数组的每个数组元素
		for (int i = 0 , len = a.length; i < len ; i++ )
		{
			System.out.println(a[i]);
		}
		// 初始化a数组的第一个元素
		a[0] = new int[2];
		// 访问a数组的第一个元素所指数组的第二个元素
		a[0][1] = 6;            //b
		// a数组的第一个元素是一个一维数组,遍历这个一维数组
		for (int i = 0 , len = a[0].length ; i < len ; i ++ )
		{
			System.out.println(a[0][i]);
		}
	}
}

二 运行结果

null
null
null
null
0
6
三 结果分析



 

 
图一是a段代码执行完后的内存情况。
图二是b段代码执行完后的内存情况。
另外从图一和图二,我们可以得出这样一个结论:二维数组是一维数组,其数组元素是一维数组。三维数组也是一维数组,其数组元素是二维数组,从这个角度来看,Java语言没多维数组。

  • 大小: 17 KB
  • 大小: 22.2 KB
分享到:
评论

相关推荐

    动态二维数组的应用

    在C++中,动态二维数组的初始化通常有两种方式:一重指针和一维数组。这两种方法都可以创建二维数组,但实现方式和内存管理有所不同。 1. **一重指针实现**: 使用一重指针实现动态二维数组时,首先分配一个指向...

    用二C语言求二维数组鞍点

    这个程序首先初始化`rowMin`和`colMax`,然后遍历数组,每次迭代时更新这两个值。如果发现某个元素既是当前行的最小值又是当前列的最大值,就找到了鞍点,并打印其位置和值。如果循环结束后没有找到鞍点,则输出相应...

    动态开辟二维数组.doc )

    ### 动态开辟二维数组:深入理解与实践 在编程领域,特别是在C++中,动态开辟二维数组是一项基本而重要的技能。本文将基于提供的文件信息,深入探讨如何使用C++中的`new`关键字以及`vector`容器来实现这一功能。 #...

    微信小程序——二维数组添加机柜页面.zip

    此外,考虑到状态管理,可以使用微信小程序的Page对象提供的data属性来存储二维数组,每次数组变化时,通过this.setData方法更新数据,这会触发页面的自动重绘。同时,为了防止数据错乱,应确保在并发操作(如多个...

    基于Excel的二维数组k-means聚类

    本篇主要介绍如何借助Excel的VBA(Visual Basic for Applications)语法来实现二维数组的k-means聚类算法,并利用Excel的图表功能展示聚类结果。 首先,我们需要理解k-means算法的基本原理。k-means算法的目标是将...

    C语言二维数组PPT学习教案.pptx

    本篇将详细阐述二维数组的定义、内存存储、初始化及引用方式。 1. 二维数组的定义与内存存储 二维数组可以视为特殊的一维数组,其元素是另一个一维数组。例如,对于一个3x4的二维数组a,可以理解为一个包含3个元素...

    一维数组滤波_一维数组滤波_

    "一维数组滤波"指的是对一维序列数据进行处理,以消除噪声、平滑数据或提取特定频率成分。在这个场景中,描述提到的是使用平均值滤波方法来实现这一目的。 一维数组滤波的核心是数组,它是数据结构的一种,用于存储...

    labview删除一维数组中的所有0元素

    在LabVIEW中,数据通常以数据结构的形式存在,如一维数组、二维数组或簇。 标题"labview删除一维数组中的所有0元素"暗示我们要对一维数组进行操作,移除其中的所有0值。这可以通过循环、条件判断和数组操作来实现。...

    rising-edge-output.rar_labview数组_二维数组

    在LabVIEW编程环境中,二维数组是一种非常常见的数据结构,它用于存储和处理多列或多行的数据。本实验“rising-edge-output.rar”旨在教你如何利用LabVIEW实现基于二维数组的开关量上升沿脉冲输出。这在数字信号处理...

    javascript 二维数组的实现与应用

    Array的构造函数可以接收一个数值参数来初始化数组的长度,也可以接收一个包含数组元素的列表。 5. 操作二维数组元素: 通过索引的方式可以访问和修改二维数组中的元素。例如,在二维数组aCity中,aCity[1][2]表示...

    fft.rar_matlab 二维FFT_二维数组_时域、频域图_时域图_时域图频域图

    matlab实现二维数组的fft变化,得到时域图、幅频域图。

    第2讲 指针高级之指针访问三维数组

    int A[3][4][5] = { /* 初始化数组 */ }; // 使用指针访问数组元素 for(int i = 0; i ; i++) { for(int j = 0; j ; j++) { for(int k = 0; k ; k++) { printf("%d ", A[i][j][k]); // 通过指针访问 printf...

    Compare-the-size-of-the-array.rar_matlab二维数组_二维数组

    数组比较大小,若干个二维数组比较大小,并且统计出变化一致与不一致的个数。

    指向计算思维培养的模型化思维教学模式实践——以选考数据与数据结构“二维数组”为例.pdf

    教师可以将数字化图像放大,创设出图像像素和二维数组元素之间的关系模型,使学生能直观感知到平面图像的翻转变化实际上就是像素位置的移动。 在实践模型化思维教学模式时,教师需注重学生活动和教师活动的结合。...

    Autoit从数组中删除指定的元素.rar

    初始化二维数组 Local $a2DArray[2][3] = [1, 2, 3, 4, 5, 6, 7, 8, 9] ; 假设我们要删除第一行的第二个元素 _ArrayDelete($a2DArray[1], 2) ``` 在处理数组时,还应注意以下几点: - **数组大小变化**:`_...

    删除数组中的元素vb6

    ' 初始化数组 ReDim arrNumbers(1 To 10) As Integer ' 填充数组 For i = 1 To 10 arrNumbers(i) = Rnd * 100 ' 生成0到99的随机数 Next i targetValue = 50 ' 要删除的元素值 ' 创建新数组并复制未被删除...

    一些Python中的二维数组的操作方法

    然而,使用上述方法创建二维数组时,如果直接修改数组中的某个元素,可能会导致整个数组的某些行产生相同的变化。这是因为这种创建方式并没有真正创建多个独立的子列表,而是创建了多个引用到同一个列表的引用。当对...

    多维数组下标计算 多维数组下标计算 多维数组下标计算

    地址计算公式可以用来计算二维数组、三维数组等多维数组的元素地址。地址计算公式可以分为行优先顺序和列优先顺序两种。 行优先顺序的地址计算公式: LOC(aij)=LOC(a11)+[(i-1)×n+j-1]×d 列优先顺序的地址计算...

    易语言源码子程序返回多维数组的实现方法.7z

    初始化多维数组可以通过循环来完成,逐个为每个元素赋值。例如: ```易语言 .循环 i, 3 .循环 j, 4 二维数组[i, j] = i * j .结束循环 .结束循环 ``` 这段代码将二维数组的每个元素设置为其所在行和列的...

Global site tag (gtag.js) - Google Analytics