java数组的内存分析

本文详细探讨了一维数组和二维数组在Java中的内存分配原理,通过实例展示了如何理解数组的引用概念,以及它们在内存中的存储结构。特别强调了为何`System.out.println`打印的是地址而非元素,并揭示了二维数组的内部工作机制。
摘要由CSDN通过智能技术生成


一、一维数组的内存分析

以下列代码为例

public static void main(String[] args) {
        int[] arr = new int[4];
        arr[0] = 1;
        arr[1] = 2;
        arr[2] = 3;
        arr[3] = 4;
    }

int[] arr = new int[4]; 为数组分配元素后,数组arr获得4个用来存放int型类型数据的变量,即4个int型元素。数组变量arr中存放着这些元素的首地址,该地址称作数组的引用,这样数组就可以通过索引操作这些内存单元。数组属于引用型变量,数组变量中存放着数组的首元素的地址,通过数组变量的名字加索引使用数组的元素。
在这里插入图片描述
从上述可以看出

System.out.println(arr);

打印出的是一个字符串而非元素,二维数组也是

二、二维数组的内存分析

以下列代码为例

    public static void main(String[] args) {
        int[][] arr = new int[4][2];
        arr[0][0] = 1;
        System.out.println(arr[0][1]);
    }

在这里插入图片描述

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

李子木、

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值