数组的运用
一、數組的概念以及定義:
? ? ? 1、 數組是存儲同一種數據類型多個元素的集合,也可以看作是一個容器。
? ? ? 2、數組既可以存儲基本數據類型,也可以存儲引用數據類型。
二、一維數組:
1、一維數組的定義:
? ? ? ?數據類型 [ ] 數組名 = new 數據類型 [ 數組長度 ] ;
2、數組的初始化就是為數組開辟連續的內存空間,并為每個數組元素賦予一個值。
? ? ? ?a.動態初始化:只給出長度,由系統給定初始化值。
? ? ? ? ? ? ?數據類型 [ ] 數組名 = new 數據類型 [ 數組長度 ];
? ? ? ?b.靜態初始化:
? ? ? ? ? ? ?數據類型 [ ] 數組名 = new 數據類型 {元素1,元素2,....,元素n};
3、一維數組的遍歷:
? ? ? ?? ? ? ? ? ? public static void print(int[ ] arr)
? ? ? ? ? ? ? ? ? ?{
? ? ? ? ? ? ? ? ? ? ? ? ? for (int i = 0;i < arr.length ;i++ ) ? ? ?//arr.length數組的長度
? ? ? ? ? ? ? ? ? ? ? ? ?{
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?System.out.print(arr[i] + " ");
? ? ? ? ? ? ? ? ? ? ? ? ? }
? ? ? ? ? ? ? ? ? ?}
4、獲取一維數組中元素的最大值:
? ? ? ? ? ? ? ? ? ?public static void main(String[] args)
? ? ? ? ? ? ? ? ? ?{
? ? ? ? ? ? ? ? ? ? ? ? ? int[] arr = {12,45,3,15,62,17,85,42};
? ? ? ? ? ? ? ? ? ? ? ? ? int max = getMax(arr);
? ? ? ? ? ? ? ? ? ? ? ? ? System.out.println(max);
? ? ? ? ? ? ? ? ? ?}
? ? ? ? ? ? ? ? ? public static int getMax(int[ ] arr)
? ? ? ? ? ? ? ? ? ?{
? ? ? ? ? ? ? ? ? ? ? ? ? int max = arr[ 0 ];
? ? ? ? ? ? ? ? ? ? ? ? ? for(i = 1;i < arr.length;i++)
? ? ? ? ? ? ? ? ? ? ? ? ? {
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? if(max < arr[ i ])
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? {
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?max = arr[ i ];
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?}
? ? ? ? ? ? ? ? ? ? ? ? ? ? }
? ? ? ? ? ? ? ? ? ? ? ? ? ? return max;
? ? ? ? ? ? ? ? ? ? ?}
5、一維數組元素對調:
? ? ? ? ? ? public static void reverseArray(int[] arr) {
????????????????for (int i = 0;i < arr.length / 2 ; i++) {
????????????????????//arr[0]和arr[arr.length-1-0]交換
????????????????????//arr[1]和arr[arr.length-1-1]交換
????????????????????//arr[2]和arr[arr.lentth-1-2]
????????????????????//...
????????????????????int temp = arr[i];
????????????????????arr[i] = arr[arr.length-1-i];
????????????????????arr[arr.length-1-i] = temp;
????????????????}
????????????}
三、二維數組:
1、二維數組的定義:
? ? ? ? ? 數組類型[ ][ ] ?數組名 = new 數組類型[m][n];
2、二維數組的另外兩種定義方式:
? ? ? ? ? a.數據類型 數組名[][] = new 數據類型[m][n];
? ? ? ? ? b.數據類型[] 數組名[] = new 數據類型[m][n];
3、注意下面定義的區別:
? ? ? ? ??? int x;
????????????int y;
????????????int x,y;
????????????
????????????int[] x;
????????????int[] y[];
????????????
????????????int[] x,y[];????x是一維數組,y是二維數組
4、二維數組的遍歷:
? ? ? ? ? ? int[][] arr = {{1,2,3},{4,5},{6,7,8,9}};
????????????for (int i = 0;i < arr.length ;i++ ) {????????????//獲取到每個二維數組中的一維數組
????????????????for (int j = 0;j < arr[i].length ;j++ ) {????//獲取每個一維數組中的元素
????????????????????System.out.print(arr[i][j] + " ");
????????????????}
????????????????System.out.println();
????????????}
5、二維數組的求和:
? ? ? ? 需求:公司年銷售額求和
????????某公司按照季度和月份統計的數據如下:單位(萬元)
????????第一季度:22,66,44
????????第二季度:77,33,88
????????第三季度:25,45,65
????????第四季度:11,66,99
????????
????????int[][] arr = {{22,66,44},{77,33,88},{25,45,65},{11,66,99}};
????????int sum = 0;????????????????????????????????????//定義變量,記錄每次相加的結果
????????for (int i = 0;i < arr.length ;i++ ) {????????????//獲取每一個一維數組
????????????for (int j = 0;j < arr[i].length ;j++ ) {????//獲取每一個一維數組中的元素
????????????????sum = sum + arr[i][j];????????????????????//累加
????????????}
????????}
????????System.out.println(sum);
?
轉載于:https://www.cnblogs.com/shw110/p/7198071.html
總結
- 上一篇: halcon reduce_ocr_cl
- 下一篇: MySQL转账储存过程_实用的银行转账存