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

 

posted @ 2016-03-23 00:02  sunshine-habit  阅读(511)  评论(0编辑  收藏  举报