二维数组 —— Java

二维数组 ——Java


每博一文案

人生就像是一列前行的火车,有人在起点,与你一同出发,却在中途到达自己的目的之后,与你挥手告别。

提前下车,而有人上车,就会有人上车告别老朋友之后,总会有新的人陪你一起走完余下的路程,很高心你能来,也不遗憾你离开。

只要曾经拥有过美好,我们依旧还是朋友。

—————— 一禅心灵庙语


二维数组

二维数组的定义

  • 二维数组本质上也就是一维数组,只不过每个元素又是一个一维数组

  • 二维数组的定义方式有多种

  • 与C语言有许多不同的点:

  • 从定义上:

int[][] arr = {1,2,3,4,5,6}; // 在Java当中是不可以这里初始化,二维数组的,需要分别使用花括号,括起来
int[][] arr = {{1,2,3},{4,5,6}};
// 当我们不使用new 的方式定义数组的时候,我们是不可以规定二维数组的行列的不然会报错的,这是与C语言不同的一个大点。


 // 当我们需要指定二维数组的行列的时候,需要使用new int[2][1]
int[][] arr = new int[][]{{1,2,3},{4,5,6}};
int[][] arr = new int[2][1];    // 当我们需要指定二维数组的行列的时候,需要使用new int[2][1]

public class Study06 {
//    二维数组的定义
    public static void main (String[] args) {
//        int[][] arr = {1,2,3,4,5,6,7,8,9,10} 在Java中不可以这样,需要括号分割
        int[][] arr1 = {{1,2,3},{4,5,6}};
        int[][] arr2 = new int[][]{{1,2,3},{4,5,6}};
        int[][] arr3 = new int[2][3];
//        int[2][3] arr4 = {{1,2,3},{4,5,6}}; 没有使用new 不可以标注行列的
        for (int i = 0; i < 2; i++) {
            for (int j = 0; j < 3; j++) {
                System.out.print(arr1[i][j]+" ");
            }
            System.out.println();
        }
    }
}


二维数组的初始规格

  • 如下:
int[][] arr = {{1,2,3},
               {4,5,6},};

  • 观察上述初始化二维数组:

    • 我们在第二个的花括号后面,多加上了一个逗号 ,

    • 在这里,这个逗号让人感觉是不需要的,没错这个逗号 我们确实可以不需要的。

    • 特意加上这个逗号 有一定的好处:

      • 初始值纵向排列看起来更整齐,
      • 大大提高代码的可读性,阅读性
      • 更易于增加或删除整行的初始值
      • 例如:像下面这样增加一行时,可以防止发生忘加逗号的错误
      
      int[][] arr = {
          {1,2,3},
          {4,5,6},
          {7,8,9},
      }
      

二维数组的内部结构

  • 让我们来认识一下二维数组的内部结构:
int[][] arr = {{1,2,3},
               {4,5,6},};

在这里插入图片描述


各种打印二维数组

使用循环打印数组

  • 这里:注意对==length== 的使用:

public class Study06 {
//    二维数组的各种打印方式,使用两个for循环打印
    public static void main (String[] args) {
        int[][] arr = new int[][]{{1,2,3},
                                  {4,5,6},};
        for (int i = 0; i < arr.length; i++) {
            for (int j = 0; j < arr[i].length; j++) {
                System.out.print(arr[i][j]+" ");
            }
            System.out.println();
        }
    }
}


使用扩展for打印
public class Study06 {
//    二维数组的使用for的扩展打印
    public static void main (String[] args) {
        int[][] arr = new int[][]{{1,2,3},
                                  {4,5,6},};
        for (int[] tmp:arr) {    // 注意 二维数组的结构。是由一个一个的一维数组组成的与,C语言中的数组不同的
            for (int num:tmp) {
                System.out.print(num+" ");
            }
            System.out.println();
        }
    }
}

  • 图解:

在这里插入图片描述


不规则二维数组

  • 所谓的不规则其实就是不整齐而已
  • 注意:
    • C语言中可以必须指出列数 ,而行可以自行推导出来,
    • Java中使用 new ,行数必须指定,而列数可以自行推导出来的
    • 注意这两种语言的不同之处

代码:

public class Study06 {
    public static void main (String[] args) {
        int[][] arr = new int[2][];
        // 这里我们注意:使用new,java中的行数必须指定,列可以省略,自行推导出来
        arr[0] = new int[3];
        arr[1] = new int[2];
        for (int i = 0; i< arr.length,i++) {
            for(int j = 0;j < arr[i].length,j++) {
                System.out.print(arr[i][j]+" ");
            }
            System.out.pritln();
        }
    }
}

结果:

 [


最后:

限于自身水平,其中存在的错误,希望大家给予指教,韩信点兵——多多益善,谢谢大家!后会有期,江湖再见!

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值