格式1:

  二维数组:就是元素为一维数组的一个数组

数据类型[][] 数组名 = new 数组类型[m][n] 其中m为行 n为列

注意:

    A:以下格式也可以表示二维数组
              a:数据类型 数组名[][] = new 数据类型[m][n];
              b:数据类型[] 数组名[] = new 数据类型[m][n];
           B:注意下面定义的区别
              int x;
              int y;
              int x,y;
              
              int[] x;
              int[] y[];
              int[] x,y[];

 class Array2Demo {
     public static void main(String[] args) {
          //定义一个二维数组
          int[][] arr = new int[3][2];
          //定义了一个二维数组arr
          //这个二维数组有3个一维数组的元素
          //每一个一维数组有2个元素
          //输出二维数组名称
          System.out.println(arr); //地址值    [[I@175078b
          //输出二维数组的第一个元素一维数组的名称
          System.out.println(arr[0]); //地址值    [I@42552c
          System.out.println(arr[1]); //地址值    [I@e5bbd6
          System.out.println(arr[2]); //地址值    [I@8ee016
          //输出二维数组的元素
          System.out.println(arr[0][0]);
          System.out.println(arr[0][1]);
     }
 }

格式2

数据类型[][] 数组名 = new 数据类型[m][];
        
        m:表示这个二维数组有多少个一维数组。
        列数没有给出,可以动态的给。这一次是一个变化的列数。

 class Array2Demo2 {
     public static void main(String[] args) {
         //定义数组
         int[][] arr = new int[3][];

         System.out.println(arr);    //[[I@175078b
         System.out.println(arr[0]); //null
         System.out.println(arr[1]); //null
         System.out.println(arr[2]); //null

         //动态的为每一个一维数组分配空间
         arr[0] = new int[2];
         arr[1] = new int[3];
         arr[2] = new int[1];

         System.out.println(arr[0]); //[I@42552c
         System.out.println(arr[1]); //[I@e5bbd6
         System.out.println(arr[2]); //[I@8ee016

         System.out.println(arr[0][0]);
         System.out.println(arr[0][1]); //0
         //ArrayIndexOutOfBoundsException
         //System.out.println(arr[0][2]); //错误

         arr[1][0] = 100;
         arr[1][2] = 200;
     }
 }

格式3

 class Array2Demo3 {
     public static void main(String[] args) {
         //定义数组
         int[][] arr = {{1,2,3},{4,5},{6}};

         System.out.println(arr);
         System.out.println(arr[0]);
         System.out.println(arr[1]);
         System.out.println(arr[2]);

         System.out.println(arr[0][0]);
         System.out.println(arr[1][0]);
         System.out.println(arr[2][0]); 

         System.out.println(arr[0][1]);
         System.out.println(arr[1][1]); //5
         //越界
         System.out.println(arr[2][1]); //错误
     }
 }

基本格式:
            数据类型[][] 数组名 = new 数据类型[][]{{元素1,元素2...},{元素1,元素2...},{元素1,元素2...}};
        简化版格式:
            数据类型[][] 数组名 = {{元素1,元素2...},{元素1,元素2...},{元素1,元素2...}};
            
        举例:
            int[][] arr = {{1,2,3},{4,5,6},{7,8,9}};
            int[][] arr = {{1,2,3},{4,5},{6}};

二维数据图解

java笔记11之二维数组的更多相关文章

  1. java怎么定义一个二维数组?

    java中使用 [][] 来定义二维数组 定义数组时也可同时初始化下面是一些例子float[][] numthree; //定义一个float类型的2维数组numthree=new float[5][ ...

  2. Java数组排序基础算法,二维数组,排序时间计算,随机数产生

    import java.util.Arrays; //包含Arrays import java.util.Random; public class HelloWorld { public static ...

  3. Java打印M图形(二维数组)——(九)

    对于平面图形输出集合图形与数字组合的,用二维数组.先在Excel表格中分析一下,找到简单的规律.二维数组的行数为行高,列数为最后一个数大小. 对于减小再增大再减小再增大的,可以用一个boolean标志 ...

  4. PHP学习笔记十三【二维数组】

    <?php //二维数组 $arr=array(array(1,2,3),array(4,5,6)); $arr1[0]=array(12,34,65); $arr1[1]=array(34,6 ...

  5. solidity 学习笔记 2 (二维数组)

    solidity 二维数组: pragma solidity ^0.4.23; contract twoArray{ uint[2][3] grade =[[20,30],[40,50],[45,60 ...

  6. java杨辉三角和空心菱形(二维数组篇)

    一.杨辉三角 import java.util.Scanner; //导入包 public class Test7 { public static void main(String[]args){ S ...

  7. Java菜鸟学习笔记--数组篇(三):二维数组

    定义 //1.二维数组的定义 //2.二维数组的内存空间 //3.不规则数组 package me.array; public class Array2Demo{ public static void ...

  8. [java学习笔记]java语言基础概述之数组的定义&amp;常见操作(遍历、排序、查找)&amp;二维数组

    1.数组基础 1.什么是数组:           同一类型数据的集合,就是一个容器. 2.数组的好处:           可以自动为数组中的元素从零开始编号,方便操作这些数据. 3.格式:  (一 ...

  9. 【Java学习笔记之八】java二维数组及其多维数组的内存应用拓展延伸

    多维数组声明 数据类型[][] 数组名称; 数据类型[] 数组名称[]; 数据类型数组名称[][]; 以上三种语法在声明二维数组时的功能是等价的.同理,声明三维数组时需要三对中括号,中括号的位置可以在 ...

随机推荐

  1. NodeJS、NPM安装配置步骤(windows版本)

    windows下的NodeJS安装是比较方便的(v0.6.0版本之后,支持windows native),只需要登陆官网(http://nodejs.org/),便可以看到首页的"INSTA ...

  2. Scrum Meeting 12-20151218

    任务安排 姓名 今日任务 明日任务 困难 董元财 无 网络连接框架优化 无 胡亚坤 无 修复商品列表排列混乱) 无 刘猛 无 无 马汉虎 无 无 赖彦俞 无 无 燃尽图 团队照片 代码签入记录 今天开 ...

  3. 使用session防止重复提交

    一.表单重复提交的常见应用场景 <%@ page language="java" import="java.util.*" pageEncoding=&q ...

  4. window 下Qt for android 环境搭建

    ******************************************************************* 转自http://www.cnblogs.com/rophie/ ...

  5. Hibernate一对一映射关联

    Hibernate提供了两种一对一映射关联关系的方式: 1)按照外键映射 2)按照主键映射 下面以员工账号表和员工档案表(员工账号和档案表之间是一对一的关系)为例,介绍这两种映射关系,并使用这两种 映 ...

  6. 12-8 php基础

    <?php //单行注释/* 多行注释*/ //弱类型语言//var a = 10;/*$a=10;$b = "hello";var_dump($a);$a="wo ...

  7. Entity Framework 学习第一天

    文章是作为初学者记录之用,没有学习过的同学可以借鉴一下,至于用过和高手嘛,就算了吧.仅是入门.废话不多说了,马上新建个项目,添加Entity Framework,这个词以下将用EF代替. 本文使用的I ...

  8. 转:MediaCoder H.264格式编码参数设置及详解

    转: http://mediacoder.com.cn/node/81 由于现在大部分视频转码都选择H.264格式进行编码,同时CUDA编码的画质还达不到x264软编码的质量(如果你对画质无要求,可以 ...

  9. ADS-B显示终端5.9

    更改日志 1  更新背景地图.增加了全国范围内的VOR电台.DME.NDB导航台信息,包含有坐标信息.代码信息.频率等内容.   VOR电台.DME.NDB导航台信息来自中国民航局公布的航行情况资料汇 ...

  10. 实验二 C#程序设计 总结

    通过本次实验,我按照书上的例子,一个例子一个例子地写下来,前七点感觉和C语言差不多,除了语法稍稍不同外,大体上是一样的.到了第八点,对异常的处理,另我十分印象深刻.因为我做例3.21的时候,按照例子要 ...