天天看點

如何把for循環的值放到string數組裡_程式設計中常見的數組應用操作

如何把for循環的值放到string數組裡_程式設計中常見的數組應用操作
如何把for循環的值放到string數組裡_程式設計中常見的數組應用操作

數組的常見操作

尹成課程資料及示範AAAjiaoyuwang

在程式開發中,數組的應用非常廣泛,靈活地使用數組對實際開發很重要。接下來,本節将針對數組的常見操作,如數組的周遊、最值的擷取、數組的排序等,進行詳細地講解。

1.數組周遊

在操作數組時,經常需要依次通路數組中的每個元素,這種操作稱作數組的周遊。接下來通過一個案例來學習一下如何使用for循環來周遊數組,如檔案1所示。

檔案1 Example22.java

1 public class Example22 {

2 public static void main(String[] args) {

3 int[] arr = { 1, 2, 3, 4, 5 }; // 定義數組

4 // 使用for循環周遊數組的元素

5 for (int i = 0; i < arr.length; i++) {

6 System.out.println(arr[i]); // 通過索引通路元素

7 }

8 }

9 }

運作結果如圖1所示。

如何把for循環的值放到string數組裡_程式設計中常見的數組應用操作

圖1 運作結果

檔案1中,定義了一個長度為5的數組arr,數組角标的取值範圍為0~4。由于for循環中定義的變量i的值在循環過程中為0~4,是以可以作為索引,依次去通路數組中的元素,并将元素的值列印出來。

2.數組最值

在操作數組時,經常需要擷取數組中元素的最值。接下來通過一個示例來示範如何擷取數組中元素的最大值,如檔案2所示。

檔案2 Example23.java

1 public class Example23 {

2 public static void main(String[] args) {

3 // 1、定義一個int[]數組

4 int[] arr = { 4, 1, 6, 3, 9, 8 };

5 // 2、定義變量max用于記住最大數,首先假設第一個元素為最大值

6 int max = arr[0];

7 // 3、周遊數組,查找最大值

8 for (int i = 1; i < arr.length; i++) {

9 // 比較 arr[i]的值是否大于max

10 if (arr[i] > max) {

11 // 條件成立,将arr[i]的值賦給max

12 max = arr[i];

13 }

14 }

15 System.out.println("數組arr中的最大值為:" + max); // 列印最大值

16 }

17 }

運作結果如圖2所示。

如何把for循環的值放到string數組裡_程式設計中常見的數組應用操作

圖2 運作結果

檔案2中,定義了一個臨時變量max,用于記住數組的最大值。首先假設數組中第一個元素arr[0]為最大值,然後使用for循環對數組進行周遊,在周遊的過程中隻要遇到比max值還大的元素,就将該元素指派給max,這樣一來,變量max就能夠在循環結束時記住數組中的最大值。

3.數組排序

在操作數組時,經常需要對數組中元素進行排序。接下來講解一種比較常見的數組排序算法——冒泡排序。所謂冒泡排序,就是不斷地比較數組中相鄰的兩個元素,較小者向上浮,較大者往下沉,整個過程和水中氣泡上升的原理相似。

接下來通過幾個步驟來具體分析一下冒泡排序的整個過程,具體如下:

第1步,從第一個元素開始,将相鄰的兩個元素依次進行比較,直到最後兩個元素完成比較。如果前一個元素比後一個元素大,則交換它們的位置。整個過程完成後,數組中最後一個元素自然就是最大值,這樣也就完成了第一輪比較。

第2步,除了最後一個元素,将剩餘的元素繼續進行兩兩比較,過程與第一步相似,這樣就可以将數組中第二大的數放在了倒數第二個位置。

第3步,以此類推,持續對越來越少的元素重複上面的步驟,直到沒有任何一對元素需要比較為止。

了解了冒泡排序的原理之後,接下來通過一個案例來實作冒泡排序,如檔案3所示。

檔案3 Example24.java

1 public class Example24 {

2 public static void main(String[] args) {

3 int[] arr = { 9, 8, 3, 5, 2 };

4 // 1、冒泡排序前,先循環列印數組元素

5 for (int i = 0; i < arr.length; i++) {

6 System.out.print(arr[i] + " ");

7 }

8 System.out.println(); // 用于換行

9 // 2、進行冒泡排序

10 // 2.1、外層循環定義需要比較的輪數(兩數對比,要比較n-1輪)

11 for (int i= 1; i < arr.length; i++) {

12 // 2.2、内層循環定義第i輪需要比較的兩個數

13 for (int j = 0; j < arr.length -i; j++) {

14 if (arr[j] > arr[j + 1]) { // 比較相鄰元素

15 // 下面的三行代碼用于相鄰兩個元素交換

16 int temp = arr[j];

17 arr[j] = arr[j + 1];

18 arr[j + 1] = temp;

19 }

20 }

21 }

22 // 3、完成冒泡排序後,再次循環列印數組元素

23 for (int i = 0; i < arr.length; i++) {

24 System.out.print(arr[i] + " ");

25 }

26 }

27 }

運作結果如圖3所示。

如何把for循環的值放到string數組裡_程式設計中常見的數組應用操作

圖3 運作結果

檔案3中,第2步通過一個嵌套for循環實作了冒泡排序。其中,外層循環用來控制進行多少輪比較,每一輪比較都可以确定一個元素的位置,由于最後一個元素不需要進行比較,是以外層循環的次數為arr.length-1;内層循環的循環變量用于控制每輪進行比較的相鄰的兩個數,它被作為角标去比較數組的元素,由于變量在循環過程中是自增的,這樣就可以實作相鄰元素依次進行比較,在每次比較時,如果前者小于後者,就交換兩個元素的位置,具體執行過程如圖4所示。

如何把for循環的值放到string數組裡_程式設計中常見的數組應用操作

圖4 冒泡排序

從圖4可以看出,在第一輪比較中,第一個元素“9”為最大值,是以它在每次比較時都就會發生位置的交換,最終被放到最後一個位置;第二輪比較與第一輪過程類似,元素“8”被放到倒數第二個位置;第三輪比較中,第一次比較沒有發生位置的交換,在第二次比較時才發生位置交換,元素“5”被放到倒數第三個位置;第四輪比較隻針對最後兩個元素,它們比較後發生了位置的交換,元素“3”被放到第二個位置。通過四輪比較,很明顯,數組中的元素已經完成了排序。

值得一提的是,檔案3中第16~18行代碼實作數組中兩個元素交換的過程。首先定義了一個臨時變量temp用于記住數組元素arr[j]的值,然後将arr[j+1]的值賦給arr[j],最後再将temp的值賦給arr[j+1],這樣便完成了兩個元素的交換。整個交換過程如圖5所示。

如何把for循環的值放到string數組裡_程式設計中常見的數組應用操作