No1_3.数组初始化_Java学习笔记
1 public class HelloArray { 2 3 public static void main(String[] args) { 4 // TODO Auto-generated method stub 5 6 System.out.println("HELLO HelloArray~"); 7 8 /******* 9 * 创建一维数组****** 声明数组格式: 【1】数组元素类型 数组名字[];数组元素类型 数组名字[][]; 【2】数组元素类型[] 10 * 数组名字;数组元素类型[][] 数组名字; 11 * **********/ 12 int arr1[]; // 声明一维数组; 13 arr1 = new int[5]; // new为数组分配空间;5,数组的个数(从0开始); 14 15 int arr2[] = new int[7]; // 声明并分配 内存; 16 17 // 初始化一维数组,常用 18 arr1[0] = 1; 19 arr2[0] = 9; 20 int[] arr3 = new int[] { 1, 2, 3, 4, 5 }; // 第一种初始化方式 21 int[] arr4 = { 16, 7, 8, 9, 10 }; // 第二种初始化方式 22 23 // ********************范例一:求一维数组中各元素的和 24 int sumArr3 = 0; 25 for (int i = 0; i < 5; i++) { 26 if (i < 4) { 27 System.out.print(arr3[i] + "+"); 28 } else { 29 System.out.print(arr3[i] + "="); 30 } 31 sumArr3 = sumArr3 + arr3[i]; 32 33 } 34 System.out.println(sumArr3); 35 36 // ********************范例二:获取一维数组中最小的值 37 System.out.println("一维数组中的元素有:"); 38 for (int arr4One : arr4) { 39 System.out.print(arr4One + "\t"); 40 } 41 System.out.println(); 42 int small = arr4[0]; 43 for (int j = 1; j <= arr4.length - 1; j++) { 44 if (small > arr4[j]) 45 small = arr4[j]; 46 } 47 System.out.println("arr4数组中的最小值是" + small); 48 49 /****************************************** 50 * 多维数组:二维常用,三维偶尔 51 ****************************************/ 52 int arr5[][]; 53 int arr6[][]; 54 // 分配相同内存 55 arr5 = new int[2][4]; // 2表示一维数组的个数,4表示一维数组数组的长度; 56 57 // 单独分配内存 58 arr6 = new int[2][]; 59 arr6[0] = new int[3]; 60 arr6[1] = new int[2]; 61 62 // 二维数组初始化 63 int arr7[][] = { { 1, 2, 3, 4 }, { 7, 8, 9, 10 } }; 64 for (int ai = 0; ai < arr7.length; ai++) { 65 for (int aj = 0; aj < arr7[ai].length; aj++) { 66 System.out.print(arr7[ai][aj] + "\t"); 67 68 } 69 System.out.println(); 70 } 71 /********************************** 72 * 三维数组 73 *****************************************/ 74 int arr8[][][] = new int[][][] { { { 1, 2, 3 }, { 4, 5, 6 } }, 75 { { 10, 20, 30 }, { 70, 80, 90 }, { 4, 5, 6 } }, 76 { { 55, 22, 11 }, { 88, 77, 66 }, { 1, 2, 3 }, { 7, 5, 4 } } }; 77 78 for (int thri = 0; thri < arr8.length; thri++) { 79 System.out.println("三维数组中的第" + (thri + 1) + "个元素是" + arr8[0].length 80 + "维数组:"); 81 for (int thrj = 0; thrj < arr8[thri].length; thrj++) { 82 for (int thrk = 0; thrk < arr8[thri][thrj].length; thrk++) { 83 System.out.print(arr8[thri][thrj][thrk] + "\t"); 84 } 85 System.out.println(); 86 } 87 88 } 89 90 // ******************** 范例三:对矩阵进行转置运算;以arr9为例 91 int arr9[][] = { { 1, 2, 3, 4 }, { 7, 8, 9, 10 } }; 92 System.out.println("转置前的矩阵是:"); 93 printArray(arr9); 94 int arr10[][] = new int[arr9[0].length][arr9.length]; 95 for (int mi = 0; mi < arr9.length; mi++) { 96 for (int mj = 0; mj < arr9[mi].length; mj++) { 97 arr10[mj][mi] = arr9[mi][mj]; 98 } 99 } 100 System.out.println("转置后的矩阵是:"); 101 printArray(arr10); 102 103 // 范例四:求方阵的迹,方阵主对角线上所有元素之和 104 int arrK[][] = new int[][] { { 1, 2, 3 }, { 4, 5, 6 }, { 7, 8, 9 } }; 105 System.out.println("方阵arrK是"); 106 printArray(arrK); 107 int sumK = 0; 108 for (int x = 0; x < arrK.length; x++) { 109 sumK += arrK[x][x]; 110 } 111 System.out.println("方阵的迹是" + sumK); 112 113 }// main end 114 115 private static void printArray(int[][] arr11) { // 遍历数组,这个函数一定要放要main方法外面,否则报错 116 for (int ni = 0; ni < arr11.length; ni++) { 117 for (int nj = 0; nj < arr11[ni].length; nj++) { 118 System.out.print(arr11[ni][nj] + "\t"); 119 } 120 System.out.println(); 121 } 122 } 123 124 }// HelloArray end
输出:
1 HELLO HelloArray~ 2 1+2+3+4+5=15 3 一维数组中的元素有: 4 16 7 8 9 10 5 arr4数组中的最小值是7 6 1 2 3 4 7 7 8 9 10 8 三维数组中的第1个元素是2维数组: 9 1 2 3 10 4 5 6 11 三维数组中的第2个元素是2维数组: 12 10 20 30 13 70 80 90 14 4 5 6 15 三维数组中的第3个元素是2维数组: 16 55 22 11 17 88 77 66 18 1 2 3 19 7 5 4 20 转置前的矩阵是: 21 1 2 3 4 22 7 8 9 10 23 转置后的矩阵是: 24 1 7 25 2 8 26 3 9 27 4 10 28 方阵arrK是 29 1 2 3 30 4 5 6 31 7 8 9 32 方阵的迹是15