详解二维数组

详解二维数组

二维数组对我的困惑已久,一直感觉是雾中看花,镜中窥月。下面深刻理解一下。

1、什么是二维数组呢?

二维数组本质上是以数组作为数组元素的数组,即数组的数组。

  • 二维数组就是一个有行和列的矩阵,每一行代表一个数组,即数组的数组;
  • 每一行数组内元素所在的位置可以用行和列号来表示;

2、二维数组的使用

2.1、二维数组的创建

  • 格式1:行列确定

    数据类型[][] 数组名 = new 数组类型[m][n];
    // 或
    数据类型 [][]数组名 = new 数组类型[m][n];
    
    • m代表这个二维数组由多少个一维数组组成;
    • n代表每个一维数组中有多少个数组元素
  • 格式2: 列不确定

    • 已知要创建的二维数组的一维数组的数量却不知一维数组中的数组元素的数量,具体如下:

      数组类型[][] 数组名 = new 数组类型[m][];
      // 或 
      数据类型 [][]数组名 = new 数组类型[m][];
      
    • 动态声明办法示例:

      int[][] nums = new int[3][];
      nums[0] = int[3];          // 此处需要特别注意数组下标与为数组分配内存空间的个数分开
      nums[1] = int[3];
      nums[2] = int[3]
      
    • 具体程序代码如下(声明一个3行3列的二维数组,并为其初始化):

      public class Array1 {
          public static void main(String[] args) {
              int[][] nums = new int[3][];
              for (int i = 0; i < nums.length; i++) {
                  nums[i] = new  int[3];
                  for (int j = 0; j < nums[i].length; j++) {
                      nums[i][j] = 1;           // 为所有二维数组元素初始化为1
                  }
              }
              // 用两个加强型循环输出二维数组的值
              for (int[] num:nums) {
                  for (int n:num) {
                      System.out.print(n);
                  }
              }
          }
      }
      
  • 格式3:直接定义

    数据类型 [][] 变量名=new 数据类型[][]{{元素…},{元素…},{元素…}};
    // 或
    数据类型 [][] 变量名={{元素…},{元素…},{元素…}};
    
    • 示例:

      int[][] array={{1}, {1, 2}, {1, 2, 3}}
      int[][] array=new int[][]{{1}, {1, 2}, {1, 2, 3}}
      

灵感一现,突发奇想,不足之处还望大家指正。

  • 9
    点赞
  • 38
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值