二维数组的声明及其基本语法
声明:[行的坐标][列的坐标] arr
基本语法:数据类型[][] 数组名称 = new 数据类型 [行数][列数] { 初始化数据 }
代码示例
int[][] arr = {
{1, 2, 3, 4},
{5, 6, 7, 8},
{9, 10, 11, 12}
};
for (int row = 0; row < arr.length; row++) {
//arr[row].length代表二维数组 arr 中第 row 行的长度,也就是该行中元素的个数。
for (int col = 0; col < arr[row].length; col++) {
System.out.printf("%d\t", arr[row][col]);
}
System.out.println("");
}
// 执行结果
1 2 3 4
5 6 7 8
9 10 11 12
二维数组的定义
以2*3的为例子
方法一:int[ ][ ] arr={{1,2,3},{4,5,6}};
方法二:int[ ][ ] arr= new int[ ][ ]{{1,2,3},{4,5,6}};
方法三:int[ ][ ] arr= new int[2][3]; //初始化里面都是0
二维和一维数组使用方法输出的区别
一维:Arrays.toString()。
- 功能: 主要用于打印一维数组的内容。
- 行为: 将数组元素转换为字符串,并以逗号分隔的方式返回,不进行深度遍历或检查。如果数组是多维的,它会先将每一行转换为一个单独的字符串,然后用引号包围并连接起来形成一个整体的字符串。
二维:Arrays.deepToString()。
- 功能: 主要用于打印多维数组的内容。
- 行为: 它会递归地遍历多维数组的每一个元素,不管这些元素是什么类型。对于对象数组或包含嵌套数组的数组,它会逐层访问并转换每个元素到字符串,然后用逗号和换行分隔每一层。
不规则的二维数组
int[ ][ ] arr = new int [2][ ];//省略列
//第一列装这个数
arr[0]=new int [ ]{1,2,3};
//第二列装这些,关键:列可以扩大
arr[1]=new int [ ]{4,5,6,7,8,9};