学习要点

  • 二维数组的定义
  • 二维数组内存数据结构
  • 不规则二维数组

二维数组的定义

语法格式

格式一

数据类型[][] 数组名 = new 数据类型[m][n];

m:表示这个二维数组有多少个一维数组。

n:表示每一个一维数组的元素有多少个。

注意:以下格式也可以表示二维数组

数据类型 数组名[][] = new 数据类型[m][n];

数据类型[] 数组名[] = new 数据类型[m][n];

格式二

基本格式:

数据类型[][] 数组名 = new 数据类型[][]{{元素1,元素2...},{元素1,元素2...},{元素1,元素2...}};

简化版格式:

数据类型[][] 数组名 = {{元素1,元素2...},{元素1,元素2...},{元素1,元素2...}};

示例代码

// 定义二维数组

int[][] arrs = new int[3][3];

//二维数组赋值

arrs[0] = new int[] { 1, 2, 3 };

arrs[1] = new int[] { 4, 5, 6 };

arrs[2] = new int[] { 7, 8, 9 };

//输出二维数组元素:外层遍历行,内层遍历每一行的列

for(int i=0;i<arrs.length;i++){

   for(int j=0;j<arrs[i].length;j++){

       System.out.print(arrs[i][j]+" ");

   }

   System.out.println();

}

  

二维数组内存数据结构

数组属于引用类型数据,默认值为null。定义二维数组时,栈空间存储着数组的引用地址;堆空间存储着数组的数据。定义二维数组时,必须明确一维长度。

不规则二维数组

语法格式

数据类型[][] 数组名 = new 数据类型[m][];

m:表示这个二维数组有多少个一维数组。

列数没有给出,可以动态的给。这一次是一个变化的列数。

示例代码

// 定义二维数组

int[][] arrs = new int[3][];

// 二维数组赋值

arrs[0] = new int[] { 1, 2, 3 };

arrs[1] = new int[] { 4, 5, 6, 7, 8, 9 };

arrs[2] = new int[] { 7, 8, 9, 10, 11, 12, 13 };

// 输出二维数组元素

for (int i = 0; i < arrs.length; i++) {

   for (int j = 0; j < arrs[i].length; j++) {

       System.out.print(arrs[i][j] + " ");

   }

   System.out.println();

}

  

JavaSE-06 二维数组的更多相关文章

  1. Java知识系统回顾整理01基础06数组06二维数组

    一.一维数组和二维数组 这是一个一维数组, 里面的每一个元素,都是一个基本类型int int a[] =new int[]{1,2,3,4,5}; 这是一个二维数组,里面的每一个元素,都是一个一维数组 ...

  2. JAVASE(八) 数组: 一维数组、二维数组、动态数组、静态数组

    个人博客网:https://wushaopei.github.io/    (你想要这里多有) 1.一维数组 1.1 数组的声明和初始化声明方式: String str[]; //不建议使用 Stri ...

  3. 代码分享:php对二维数组进行排序

    发布:net/PHP编程  编辑:thebaby   2013-06-28 13:12:54  [大 中 小] 转自:http://www.jbxue.com/article/9991.html本文介 ...

  4. 《剑指Offer》面试题-二维数组中的查找

    题目1384:二维数组中的查找 时间限制:1 秒 内存限制:32 兆 特殊判题:否 提交:7318 解决:1418 题目描述: 在一个二维数组中,每一行都按照从左到右递增的顺序排序,每一列都按照从上到 ...

  5. 第3章 Java数组(上): 一维数组和二维数组

    3.数组及排序算法(2天) 3.1 数组的概述 2课时 3.2 一维数组的使用 3课时 3.3 多维数组的使用 3课时 3.4 数组中涉及到的常见算法 3课时 3.5 Arrays工具类的使用 3课时 ...

  6. 二维数组,锯齿数组和集合 C# 一维数组、二维数组(矩形数组)、交错数组(锯齿数组)的使用 C# 数组、多维数组(矩形数组)、锯齿数组(交叉数组)

    二维数组,锯齿数组和集合 一.二维数组 二维数组:一维数组----豆角二维数组----表格 定义:1.一维数组:数据类型[] 数组变量名 = new 数据类型[数组长度];数据类型[] 数组变量名 = ...

  7. PHP 二维数组根据某个字段排序

    二维数组根据某个字段排序有两种办法,一种是通过sort自己写代码,一种是直接用array_multisort排序函数 一. 手写arraysort PHP的一维数组排序函数: sort  对数组的值按 ...

  8. 剑指Offer-【面试题03:二维数组中的查找】

    package com.cxz.question3; /* * 在一个二维数组中,每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序. * 请完成一个函数,输入这样的一个二维数组和 ...

  9. PHP开发笔记:二维数组根据某一项来进行排序

    比如说我们现在有一个二维数组: $arr = array( ‘d' => array(‘id' => 5, ‘name' => 1, ‘age' => 7), ‘b' => ...

  10. 剑指Offer面试题:2.二维数组中的查找

    一.题目:二维数组中的查找 题目:在一个二维数组中,每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序.请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数. ...

随机推荐

  1. 并不对劲的字符串专题(二):kmp

    据说这些并不对劲的内容是<信息学奥赛一本通提高篇>的配套练习. 先感叹一句<信息学奥赛一本通提高篇>上对kmp的解释和matrix67的博客相似度99%(还抄错了),莫非mat ...

  2. Go实战--通过gin-gonic框架搭建restful api服务(github.com/gin-gonic/gin)

    生命不止,继续 go go go !!! 先插播一条广告,给你坚持学习golang的理由: <2017 软件开发薪酬调查:Go 和 Scala 是最赚钱的语言> 言归正传! 之前写过使用g ...

  3. 思维导图js

    http://baike.baidu.com/view/1469162.htm?fromenter=Mind+Maps

  4. js中的call和apply方法

    call方法: 语法:call(thisObj,[arg1,arg2,arg3,...]); 定义:调用一个对象的一个方法,以另一个对象替换当前对象. 说明: call 方法可以用来代替另一个对象调用 ...

  5. Python Import机制备忘-模块搜索路径(sys.path)、嵌套Import、package Import

    出处:http://blog.csdn.net/kernelspirit/article/details/3381666 最近在看<Python源码剖析>,对Python内部运行机制比以前 ...

  6. 【黑金教程笔记之002】【建模篇】【Lab 01 永远的流水灯】—笔记&勘误

    学习并行操作的思想. 勘误001: Page 17,模块图下方,“扫描频配置定为100Hz”应为10Hz. 勘误002: Page 17,最后一行 “10ms”应为100ms:“2.5ms”应为25m ...

  7. centos 7 添加普通用户

    adduser username username 是你要创建的用户名 passwd username 创建密码,输入个稍微复杂的 usermod -a -G wheel username 将用户加入 ...

  8. 压力测试之jmeter使用

    我很早之前就会使用jmeter,一直以为压力测试很简单,知道真正去做才明白,真正的压力测试并不只是会用jmeter而已.我现在才明白:会工具并不等同于会压力测试.对于压力测试需要补充的知识还有很多.. ...

  9. Kubernetes集群认证

    1.集群搭建:https://www.kubernetes.org.cn/3808.html 2.集群验证:https://www.kubernetes.org.cn/1861.html

  10. CF1119F Niyaz and Small Degrees

    题意 给你\(n\)个点的树,边有边权 问使得所有的点度数都小于等于\(x\)的最小删边的代价 \([x \in 0...n-1]\) 题解 首先对于每个\(x\) 可以有一个\(O(nlogn)\) ...