前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >【Java宝典】——二维数组的寻宝之旅

【Java宝典】——二维数组的寻宝之旅

作者头像
用户10920432
发布2024-09-20 08:28:57
540
发布2024-09-20 08:28:57
举报
文章被收录于专栏:Python数据结构与算法

二维数组

二维数组的创建和打印

数据类型[ ] [ ] 数组名称 = new 数据类型[行数][列数]{初始化数据};

代码语言:javascript
复制
import java.util.Arrays;

public class DyadicArray {

    // 二维数组的创建和打印
    public static void main(String[] args) {
        
        // 直接初始化一个二维数组,数组的值为1, 2, 3 和 4, 5, 6
        int[][] array = {{1, 2, 3}, {4, 5, 6}};
        
        // 使用 new 关键字显式创建一个二维数组,并同时进行初始化,数组的值为1, 2, 3 和 4, 7, 88
        int[][] array1 = new int[][]{{1, 2, 3}, {4, 7, 88}};
        
        // 创建一个二维数组,行数为2,列数为3,数组的默认值为0
        int[][] array2 = new int[2][3];  // 默认情况下,int数组元素为0

        // 打印二维数组的内容,使用 Arrays.deepToString() 递归打印多维数组
        System.out.println(Arrays.deepToString(array));  
        System.out.println("__________________________");

        // 打印另一个二维数组的内容
        System.out.println(Arrays.deepToString(array1));  
        System.out.println("__________________________");

        // 打印未初始化的二维数组(其中的元素为默认值0)
        System.out.println(Arrays.deepToString(array2));  
    }
}

打印结果:


法1:通过循环语句打印数组
代码语言:javascript
复制
import java.util.Arrays;

public class DyadicArray {
     //二维数组利用循环打印
     public static void main(String[] args) {
         int [][] array= {{1,2,3,4},{6,2,3,4}};
         //循环每一行
         for (int i = 0; i < 2; i++) {
             for (int j = 0; j < 4; j++) {
                 System.out.print(array[i][j]+" ");
             }
             System.out.println();
         }
     }
}

打印结果:


📣二维数组其实是特殊的一维数组

代码语言:javascript
复制
public class DyadicArray {

    public static void main(String[] args) {
        int[][] array = {{1,2,3},{4,5,6}};

        System.out.println(array.length);
        System.out.println(array[0].length);
        System.out.println(array[1].length);
    }
 }

输出结果:

由上面的输出结果我们可以得出:其实二维数组的本质就是一个大的一维数组array,里面包含着两个小的一维数组。由此我们可以将上面的循环打印二维数组的语句修改为如下样式:

代码语言:javascript
复制
import java.util.Arrays;

public class DyadicArray {

    public static void main(String[] args) {
        int [][] array = {{1,2,3},{4,5,6}};
        for (int i = 0; i < array.length; i++) {
            for (int j = 0; j < array[i].length; j++) {
                System.out.print(array[i][j]+" ");
            }
            System.out.println();

        }
    }
 }

打印结果:


法2:通过for -each语句打印

代码语言:javascript
复制
import java.util.Arrays;

public class DyadicArray {

    public static void main(String[] args) {
        int [][] array = {{1,2,3},{4,5,6}};
        //利用for-each遍历数组
        //首先,循环遍历每一个二维数组里面的一维数组
        // --> 冒号左边的是我们在二维素组里面遍历的每一个一维数组
        // --> 冒号右边是二维数组
        for(int [] OneArray : array){
            //其次,循环遍历一维数组里面的每一个元素
            // --> 冒号左边的是一维数组里面的每一个元素
            // --> 冒号右边的是每一个一维数组
            for(int x : OneArray) {
                System.out.print(x + " ");
            }
            System.out.println();
        }
    }
    }

运行结果:


二维或多维数组的打印用Arrays库里面的deepToString关键字

代码语言:javascript
复制
        //二维数组或则是多维数组的打印用deepToString
        String ret = Arrays.deepToString(array);
        System.out.println(ret);

打印结果:


二维数组可省略列,不可省略行

若将二维数组省略的每一行进行打印结果会是报空指针的错误。


但是不规则的二维数组可以通过创建对象new进行打印

代码语言:javascript
复制
public class DyadicArray2 {
    public static void main(String[] args) {
        int[][] array = new int[2][]; // 创建一个2行的二维数组,此时列数未知(不规则数组)

        // 对每一行数组进行初始化,指定每一行的列数
        array[0] = new int[3]; // 第一行初始化为3列
        array[1] = new int[5]; // 第二行初始化为5列

        // 使用嵌套循环遍历二维数组
        for (int i = 0; i < array.length; i++) { // 外层循环遍历行
            for (int j = 0; j < array[i].length; j++) { // 内层循环遍历列
                System.out.print(array[i][j] + " "); // 打印当前元素,并在元素之间添加空格
            }
            System.out.println(); // 每一行打印完毕后换行
        }
    }
}

打印结果:


二维数组的循环打印

代码语言:javascript
复制
public class DyadicArray3 {
    public static void main(String[] args) {
        int[][] arr ={
                {1,2,3,4},
                {5,6,7,8},
                {11,2,4,5}
        };

        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();
        }

    }

}
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2024-09-19,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 二维数组
    • 二维数组的创建和打印
      • 法1:通过循环语句打印数组
      • 📣二维数组其实是特殊的一维数组
      • 法2:通过for -each语句打印
        • 二维数组可省略列,不可省略行
        领券
        问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档