首页 > 编程语言 >【Java基础】二维数组

【Java基础】二维数组

时间:2022-08-22 17:48:32浏览次数:56  
标签:arr Java 一维 int 二维 数组 new

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

标签:arr,Java,一维,int,二维,数组,new
From: https://www.cnblogs.com/zhishu/p/16613624.html

相关文章

  • 【Java面试】谈谈常用的分布式ID设计方案
    “谈谈常用的分布式ID设计方案”!一个工作了7年的同学,被问到了这样一个问题。问题并不难,但是在实际面试的时候,如果只是回答1,2,3很难通过面试,因为作为一个高级程序员,还需......
  • TypeScript 数组中查找最小、最大n个元素
    TypeScript数组中查找最小、最大n个元素 vartypeArr:number[]=[1,10,50,6,80,9,100]; //最小元素privateminArr(arr:number[]){    letminArray:numb......
  • wordpress粘贴图片自动上传到服务器(Java版)
    ​ 在之前在工作中遇到在富文本编辑器中粘贴图片不能展示的问题,于是各种网上扒拉,终于找到解决方案,在这里感谢一下知乎中众大神以及TheViper。通过知乎提供的思路找到粘......
  • java算法:快速排序
    快速排序有没有既不浪费空间又可以快一点的排序算法呢?那就是“快速排序”啦!光听这个名字是不是就觉得很高端呢。假设我们现在对“61279345108”这个10个数进行......
  • 【JAVA】RestTemplate配置超时时间
    配置类:@BeanpublicRestTemplaterestTemplate(){SimpleClientHttpRequestFactoryrequestFactory=newSimpleClientHttpRequestFactory();......
  • Java IO理解
    JavaBIONIOAIO理解同步异步同步:发起一个调用后,被调用者未处理完请求之前,不返回异步:发起一个调用后,立刻得到被调用者的回应表示已接收到请求,但是被调用者并没有返回......
  • idea集成maven插件和使用骨架创建maven的java工程
    idea集成maven插件     关闭设置界面   使用骨架创建maven的java工程     ......
  • 多平台Java安装程序构建器
    install4j是一个功能强大的多平台Java安装程序构建器,可为Java应用程序生成本机安装程序和应用程序启动器。install4j的易于使用,它的扩展平台支持和其强大的屏幕和动作系统......
  • 【模板】树状数组
    【模板】树状数组一维树状数组#definelowbit(x)((x)&(-x))constintmaxN=1e6+10;typedeflonglongll;structBIT{lldata[maxN<<2];inli......
  • 【Java基础】什么是数组
    1.什么是数组Array:多个相同类型数据按一定顺序排列的集合,并使用一个名字命名,通过编号的方式对这些数据进行统一管理。(1)说明①数组本身是引用数据类型,数组中的元素可......