`
cakin24
  • 浏览: 1406978 次
  • 性别: 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语言求二维数组鞍点

    这个程序首先初始化`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算法的目标是将...

    第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...

    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]表示...

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

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

    03一维数组元素输入&输出

    数组的初始化可以在定义数组时赋初值,例如 `int data[5]={1,2,3,4,5};`。初始化时可以只赋值一部分元素,其他没有赋初值的元素初值将为 0。数组的赋值只能对数组元素单独操作,不能对数组整体操作。赋值的方式有两...

    基于MATLAB GUI创建编写的二维数组插值软件.docx

    在科学技术研究以及工程实践中,二维数组插值是一项常见的数据处理操作。二维数组插值指的是在已知一组离散点数据的情况下,对这些点之间的未知数据点进行数值估计。这种技术广泛应用于科学计算、图像处理、信号分析...

    Matlab三维数组举例分析,优缺点总结.pdf

    例如,一个三维数组可以用来存储一组二维图像,每张图像都作为一个二维切片存在于三维数组中。通过对这个三维数组的操作,如像素级别的调整、滤波或分割,可以实现对图像的处理和分析。这种处理方式使得在Matlab中...

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

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

    二维数组习题讲解ppt

    二维数组是编程中常见的一种数据结构,特别是在处理矩阵运算或二维数据存储时极其有用。本讲解主要关注两个问题:旋转矩阵和蛇形矩阵。 首先,我们来看旋转矩阵。旋转矩阵是指给定一个n*m的数字矩阵,将其按照指定...

    数组(一维、二维、三维)的动态申请及用vector的表示方法

    ### 数组(一维、二维、三维)的动态申请及用vector的表示方法 #### 一、变长一维数组 变长数组是指在编译时不能确定数组长度,而是在程序运行时需要动态分配内存空间的数组。下面详细介绍如何在C++中实现变长一维...

    MATLAB三维数组.md

    #### 二、创建与初始化三维数组 ##### 1. 创建全零三维数组 在MATLAB中,可以使用`zeros`函数轻松创建一个全零的三维数组。该函数的基本语法如下: ```matlab array3D = zeros(dim1, dim2, dim3); ``` 其中`dim1`,...

    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 ' 要删除的元素值 ' 创建新数组并复制未被删除...

    MATLAB三维数组示例.md

    对于三维数组,`disp`函数会按顺序展示每一个二维平面。 **示例:** ```matlab % 打印数组 disp(array); ``` #### 五、学习收获 通过本篇文档的学习,您将掌握以下知识和技能: 1. **理解MATLAB中三维数组的概念...

Global site tag (gtag.js) - Google Analytics