当前位置: 首页> 教育> 高考 > 【Java宝典】——二维数组的寻宝之旅

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

时间:2025/7/11 9:29:58来源:https://blog.csdn.net/Aileenvov/article/details/142142013 浏览次数:0次

二维数组

二维数组的创建和打印

数据类型[ ] [ ] 数组名称 = new 数据类型[行数][列数]{初始化数据};
import java.util.Arrays;public class DyadicArray {// 二维数组的创建和打印public static void main(String[] args) {// 直接初始化一个二维数组,数组的值为1, 2, 3 和 4, 5, 6int[][] array = {{1, 2, 3}, {4, 5, 6}};// 使用 new 关键字显式创建一个二维数组,并同时进行初始化,数组的值为1, 2, 3 和 4, 7, 88int[][] array1 = new int[][]{{1, 2, 3}, {4, 7, 88}};// 创建一个二维数组,行数为2,列数为3,数组的默认值为0int[][] 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:通过循环语句打印数组

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

打印结果:
在这里插入图片描述


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

在这里插入图片描述

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,里面包含着两个小的一维数组。由此我们可以将上面的循环打印二维数组的语句修改为如下样式:

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语句打印

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关键字

        //二维数组或则是多维数组的打印用deepToStringString ret = Arrays.deepToString(array);System.out.println(ret);

打印结果:
在这里插入图片描述


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

在这里插入图片描述
若将二维数组省略的每一行进行打印结果会是报空指针的错误。


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

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(); // 每一行打印完毕后换行}}
}

打印结果:
在这里插入图片描述


二维数组的循环打印

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();}}}
关键字:【Java宝典】——二维数组的寻宝之旅

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

责任编辑: