【Java基础】二维数组

1.二维数组

数组是引用类型,数组中的元素可以是引用数据类型,因此在一维数组中每个元素都为一个一维数组,即为二维数组。相当于一个表格
image

2.初始化

(1)静态初始化

int[][] arr = new int[][]{{3,8,2},{2,7},{9,0,1,6}};

image
说明
第二个元素为arr[1] = {2,7},第二个元素中的第一个为arr[1][0] = 2
二维数组的长度为arr.length,第二个元素的长度为arr[1].length
特殊写法:声明两个数组 int[] x,y[];,x是一维数组,y是二维数组。

(2)动态初始化
① 第一种

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

image
二维数组中有3个元素,每个元素是一个一维数组,每个一维数组有2个元素。
一维数组的名称分别为:arr[0],arr[1],arr[2]
给第一个一维数组中的第二个元素赋值arr[0][1] = 78;
② 第二种

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

二维数组中有3个一维数组,每一个都是默认初始化为null,一维数组中的元素不能调用,否则报错。
分别进行3个一维数组的初始化

arr[0] = new int[3];
arr[1] = new int[2];
arr[3] = new int[4];

这种写法int[][] arr = new int[][3]是错误的。

3.二维数组的遍历

for (int i = 0; i < arr.length; i++) {
for (int j = 0; j < arr[i].length; j++) {
System.out.print(arr[i][j]+"\t");
}
System.out.println();
}

4.内存解析

int[][] arr = new int[4][];
arr[1] = new int[]{1, 2, 3};
arr[2] = new int[4];
arr[2][1] = 5;

(1)先执行int[][] arr = new int[4][];
堆内存中开辟连续空间,一维数组为null

image

(2)执行arr[1] = new int[]{1, 2, 3};
image

(3)执行

arr[2] = new int[4];
arr[2][1] = 5;

image

posted @   植树chen  阅读(382)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
点击右上角即可分享
微信分享提示