Java - 二维数组的定义及打印
编程软件:IEDA
学习总结:
①二维数组的定义
②规则二维数组的打印
③用foreach进行数组的遍历
④不规则二维数组的打印
Tips:
- 规则的二维数组指定行和列
- Java 行必须指定,列不可以自动推导
①
先回顾一下一维数组:
int []array1 = {1,2,3};
int []array2 = new int[]{1,2,3};
int []array3 = new int[3];
这是二维数组的定义
public static void main1(String[] args) {
int [][]array1 = {{1,2,3},{4,5,6}};//java数组定义不允许出现具体数字
int [][]array2 = new int[][]{{1,2,3},{4,5,6}};
int [][]array3 = new int[2][3];
}
②
二维数组的简单打印
//当你知道具体的列和行数时
for(int i=0; i<2; i++) {//i控制行
for(int j=0; j<3; j++) {//j控制列
System.out.print(array[i][j]+ " ");
}
}
//当你不知道具体的列和行数时
for(int i=0; i<array.length; i++) {//二维数组可以看成两个特殊的一维数组,若行数不好数,可以写成array.length,
for(int j=0; j<array[i].length; j++) {//i控制行,array[i].length可看作第i行数组的长度
System.out.print(array[i][j]+ " ");
}
System.out.println();
}
System.out.println(Arrays.toString(array));
二维数组的深度打印
System.out.println(Arrays.ToString(array));//打印的是二位数组的地址
System.out.println(Arrays.deepToString(array));//打印的是二位数组的具体值
③
通过foreacch来进行数组的遍历
public static void main2(String[] args) {
int[][] array = {{1, 2, 3}, {4, 5, 6}};
for (int[] tmp : array) {//先写一个一维数组遍历行,因为是二维数组,一维数组的写法不行,int x : array不可以
for (int x : tmp) { //再按照普通的遍历形式遍历列的元素
System.out.println(x + " ");
}
System.out.println();
}
}
④
不规则二维数组的打印
public static void main3(String[] args) {
//Arrays zai java.util.Arrays包里
int[][] array = new int [2][];//Java 行必须指定,列不可以自动推导
array[0] = new int[3];
array[1] = new int[2];
//array[0] = new int[] {1,2,3};
//array[1] = new int[] {4,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();
}
}