二维数组
1 package day06; 2 3 public class ArrayTest01 { 4 /*二维数组动态初始化格式 5 * 数据类型[][] 变量名 = new 数据类型[m][n]; 6 * m表示这个二维数组能放多少个一维数组 7 * n表示每一个一维数组能放多少个元素*/ 8 public static void main(String[] args) { 9 int[][] arr = new int[3][3]; 10 /*[[I@1b6d3586 11 * @:分隔符 12 * 1b6d3586:十六进制内存地址 13 * I:数组中存储的数据类型 14 * [[:几个中括号表示几维数组*/ 15 System.out.println(arr); 16 /*二维数组存储一维数组的时候,存储的是一维数组的内存地址*/ 17 System.out.println(arr[0]); 18 System.out.println(arr[1]); 19 System.out.println(arr[2]); 20 21 System.out.println(arr[0][0]); 22 System.out.println(arr[1][1]); 23 System.out.println(arr[2][2]); 24 25 //向二维数组中存储元素 26 arr[0][0] = 11; 27 arr[0][1] = 12; 28 arr[0][2] = 13; 29 30 arr[1][0] = 21; 31 arr[1][1] = 22; 32 arr[1][2] = 23; 33 34 arr[2][0] = 31; 35 arr[2][1] = 32; 36 arr[2][2] = 33; 37 38 //从二维数组中取出元素并打印 39 System.out.println("------------"); 40 System.out.println(arr[0][0]); 41 System.out.println(arr[0][1]); 42 System.out.println(arr[0][2]); 43 System.out.println(arr[1][0]); 44 System.out.println(arr[1][1]); 45 System.out.println(arr[1][2]); 46 System.out.println(arr[2][2]); 47 System.out.println(arr[2][1]); 48 System.out.println(arr[2][2]); 49 50 } 51 }
执行结果:
eg:
1 package day06; 2 3 public class ArrayTest03 { 4 /*完整格式:数据类型 [][] 变量名 = new 数据类型[][]{{元素1,元素2……},{元素1,元素2……},……}; 5 * 简化格式:数据类型[][] 变量名 ={{元素1,元素2……},{元素1,元素2……},……};*/ 6 public static void main(String[] args) { 7 int[] arr1 = {1, 2, 3}; 8 int[] arr2 = {4, 5, 6}; 9 int[][] arr = {{1, 2, 3}, {4, 5, 6}}; 10 System.out.println(arr[0][2]); 11 System.out.println("---------"); 12 int[][] arry = {arr1, arr2}; 13 System.out.println(arry[0][2]); 14 15 } 16 }
执行结果:
eg:
1 package day06; 2 3 public class ArrayTest02 { 4 public static void main(String[] args) { 5 /*二维数组存储的是一维数组,可以存入提前创建好的一维数组,但是要注意数组范围*/ 6 int[] arr1 = {11, 22, 33}; 7 int[] arr2 = {44, 55, 66}; 8 int[] arr3 = {77, 88, 99, 100}; 9 int[][] arr = new int[3][4]; 10 arr[2][3] = 100; 11 arr[0] = arr1; 12 arr[1] = arr2; 13 arr[2] = arr3; 14 System.out.println(arr[1][2]); 15 System.out.println(arr[2][3]); 16 } 17 }
执行结果:
eg:
1 package day06; 2 3 public class ArrayTest04 { 4 /*已知一个二维数组 arr = {{11, 22, 33}, {33, 44, 55}};遍历该数组,取出所有元素并打印 5 * 步骤: 6 * 1、遍历二维数组,取出里面每一个一维数组 7 * 2、在遍历的过程中对每一个一维数组继续完成遍历,获取内部存储的每一个元素*/ 8 public static void main(String[] args) { 9 int[][] arr = {{11, 22, 33}, {33, 44, 55}}; 10 for (int i = 0; i < arr.length; i++) { 11 System.out.println(arr[i]); 12 for (int j = 0; j < arr[i].length; j++) { 13 System.out.println(arr[i][j]); 14 } 15 } 16 } 17 }
执行结果:
欢迎批评指正,提出问题,谢谢!