天天看點

Java 複習整理 03

變量或者是常量, 隻能用來存儲一個資料, 例如: 存儲一個整數, 小數或者字元串等.

如果需要同時存儲多個同類型的資料, 用變量或者常量來實作的話, 非常的繁瑣. 針對于

這種情況, 我們就可以通過數組來實作了.

  例如: 假設某公司有50名員工, 現在需要統計該公司員工的工資情況, 例如計算平均

工資、擷取最高工資等。針對于這個需求,如果用前面所學的知識實作,程式首先需要聲

明50個變量來分别記住每位員工的工資,然後在進行操作,這樣做非常繁瑣,而且錯誤率

也會很高。是以我們可以使用容器進行操作。将所有的資料全部存儲到一個容器中,統一

操作。數組, 就是一種容器.

解釋:

容器: 就是将多個資料存儲到一起, 每個資料都是該容器的元素.

現實生活中的容器: 水杯, 衣櫃, 教室等...

數組概述

數組就是用來存儲多個同類型元素的容器, 例如: 存儲5個整數, 或者存儲10個小數, 亦或

者存儲3個字元串等...

1 package com.it.demo08_array;
 2 
 3 /*
 4     案例: 示範數組的定義格式.
 5 
 6     數組簡介:
 7         概述:
 8             數組就是用來 同時存儲 多個 同類型元素 的容器.
 9         定義格式:
10             動态初始化: 我們給長度, 由系統給出預設值.
11                 格式1:
12                     資料類型[] 數組名 = new 資料類型[長度];
13                     int[] arr = new int[3];
14 
15                 格式2:
16                     資料類型 數組名[] = new 資料類型[長度];
17                     int arr[] = new int[3];
18 
19             靜态初始化: 我們給出預設值, 由系統決定長度.
20                 格式1:
21                     資料類型[] 數組名 = new 資料類型[]{值1, 值2, 值3...};
22                     int[] arr = new int[]{11, 22, 33};
23 
24                 格式2:
25                     資料類型[] 數組名 = {值1, 值2, 值3...};
26                     int[] arr = {11, 22, 33};               //屬于格式1的簡化版, 學名叫: 文法糖.
27  */
28 public class Demo01 {
29     public static void main(String[] args) {
30         //1.建立int類型的數組, 用來存儲3個元素.               //我們給長度, 系統給預設值, 這個叫: 動态初始化.
31         //格式1: 定義一個int類型的數組, 數組名叫: arr1, 初始化長度為3.
32         int[] arr1 = new int[3];            //推薦使用.
33 
34         //格式2: 定義一個int類型的arr數組, 數組名叫arr2, 初始化長度為3.
35         int arr2[] = new int[3];
36 
37 
38         //2.建立int類型的數組, 存儲資料11, 22, 33.            //我們給值, 由系統決定長度, 這個叫: 靜态初始化.
39         //格式1:
40         int[] arr3 = new int[]{11, 22, 33};     //推薦使用.
41 
42         //格式2:  文法糖
43         int[] arr4 = {11, 22, 33};              //推薦使用.
44     }
45 }           
1 /*
 2     定義數組容器
 3      定義數組容器,要素,強制資料類型的語言
 4      必須有資料類型, 大小, 就是存儲資料的個數
 5      定義數組公式:
 6        資料類型[] 變量名 = new 資料類型[存儲元素的個數];
 7          
 8           資料類型: 數組中存儲元素的資料類型
 9           [] 表示數組的意思
10           變量名  自定義辨別符
11           
12           new  建立容器關鍵字
13           資料類型: 數組中存儲元素的資料類型
14           []  表示數組的意思
15           元素個數,就是數組中,可以存儲多少個資料 (恒定, 定長)
16           
17         數組是一個容器: 存儲到數組中的每個元素,都有自己的自動編号
18         自動編号,最小值是0, 最大值,長度-1
19         自動編号專業名次, 索引(index), 下标, 角标
20         通路數組存儲的元素,必須依賴于索引, 公式 數組名[索引]
21         
22         Java提供一個屬性,操作索引的
23         數組的一個屬性,就是數組的長度, 屬性的名字 length
24         使用屬性:  數組名.length  資料類型 int
25         
26         數組的最小索引是0, 最大索引數組.length-1
27 */
28 public class ArrayDemo{
29     public static void main(String[] args){
30         //定義數組,存儲整數,容器長度, 3個
31         // 資料類型[] 變量名 = new 資料類型[存儲元素的個數];
32         int[] arr = new int[3];
33         System.out.println(arr);
34         
35         //通過索引的方式,數組中的三個元素
36         System.out.println(arr[0]);
37         System.out.println(arr[1]);
38         System.out.println(arr[2]);
39         
40         
41         System.out.println(arr.length);
42         
43         
44         
45         
46         
47     }
48 }           
1 /*
 2   數組的常用兩個定義方式
 3      資料類型[]  變量名 = new 資料類型[]{元素1,元素2,元素3};
 4      注意事項: new 後面的中括号中,不允許寫任何内容,寫了就編譯失敗
 5      
 6      資料類型[]  變量名 = {元素1,元素2,元素3};
 7 */
 8 public class ArrayDemo_2{
 9     public static void main(String[] args){
10         //定義數組,定義的同時,對元素進行指派
11         int[] arr = new int[]{1,2,4,5,7,9};
12         System.out.println(arr.length);
13         System.out.println(arr[5]);
14         
15         
16         System.out.println("==================");
17         //定義數組,直接大括号指派
18         int[] arr2 = {0,2,4,6,8};
19         System.out.println(arr2.length);
20         System.out.println(arr2[1]);
21     }
22 }           
1 /*
 2     數組的操作, 使用索引,對數組中的元素指派
 3 */
 4 public class ArrayDemo_1{
 5     public static void main(String[] args){
 6         //定義數組,存儲int類型數組,長度就是5
 7         int[] arr = new int[5];
 8         
 9         //将1索引上的元素,指派3
10         arr[1] = 3;
11         System.out.println(arr[1]);
12         System.out.println(arr[2]);
13     }
14 }           
1 /*
 2    數組周遊:
 3      将所有的數組元素,全擷取
 4      依靠索引, 規律從0開始,一直在自動增長1, 到達length-1
 5      循環來實作
 6        for    知道循環次數, 計數器思想
 7        while  不确定循環次數
 8 */
 9 
10 public class ArrayDemo_3{
11     public static void main(String[] args){
12         int[] arr = {2,1,3,5,7,0,4};
13         
14         for(int i = 0 ; i < arr.length; i++){
15             System.out.println(arr[i]);
16         }
17     }
18 }           
1 /*
 2   數組操作中,常見的兩個異常
 3      數組的索引越界異常
 4      空指針異常
 5 */
 6 public class ArrayDemo_4{
 7     public static void main(String[] args){
 8         //數組的索引越界異常
 9         //int[] arr = {5,2,1};
10         //數組中3個元素,索引 0,1,2
11         //System.out.println(arr[3]);//java.lang.ArrayIndexOutOfBoundsException: 3
12         
13         //空指針異常
14         int[] arr2 = {1,5,8};
15         System.out.println(arr2[2]);
16         arr2 = null; // arr2 不在儲存數組的位址了
17         System.out.println(arr2[2]);//java.lang.NullPointerException
18     }
19 }           
1 /*
 2     計算數組中的最大值
 3     數組  {4,1,7,5}; 做比較
 4 */
 5 public class ArrayDemo_5{
 6     public static void main(String[] args){
 7         //定義數組,int類型
 8         int[] arr = {5,1,12,4,6,8,0,3};
 9         //定義變量,記錄數組中0索引上的元素
10         int max = arr[0];
11         
12         //周遊數組,擷取所有的元素,和變量max比較
13         for(int i = 1; i < arr.length ; i++){
14             //變量max,和數組中的每個元素進行比較
15             //如果max,小于了數組中的一個元素
16             if( max < arr[i] ){
17                 //較大的數組的元素,指派給max
18                 max = arr[i];
19             }
20         }
21         // 周遊完成,變量max,就是數組最大值
22         System.out.println(max);
23     }
24 }//歡迎加入Java開發交流君樣:909038429           
1 package com.it.demo08_array;
 2 
 3 /*
 4     案例: 示範數組的基本格式.
 5 
 6     涉及到的知識點:
 7         數組的各部分解釋, 此處以 動态初始化舉例, 例如:  int[] arr = new int[3];
 8             int:    表示數組中存儲元素的資料類型,  int說明隻能存儲整數, 如果是String說明隻能存儲字元串, 如果是double, 說明隻能存儲小數.
 9             []:     表示它是一個數組
10             arr:    表示數組名, 命名的規則和命名變量是一樣的(遵循小駝峰命名法), 都要符合辨別符的規範.
11             new:    表示建立對象, 該對象存儲在 堆記憶體 空間.
12             3:      表示數組的長度, 即: 數組中最多隻能存儲幾個資料.
13 
14         數組的元素特點:
15             1. 數組中每個元素都是有索引(也叫: 編号, 角标, 下标)的, 且索引是從 0 開始的.
16             2. 數組中的每個元素都是有預設值的, 例如:
17                 int[], 元素預設值為: 0
18                 double[], 元素預設值為: 0.0
19                 boolean[], 元素預設值為: false
20                 String[], 元素預設值為: null
21 
22         數組的基本格式:
23             數組名[索引]             根據索引值, 擷取該索引對應的元素.
24             數組名[索引] = 值        修改指定索引處的元素為指定的值.
25             數組名.length            擷取數組的長度.
26             數組名.length - 1        擷取數組中最後一個元素的索引.
27 
28  */
29 public class Demo02 {
30     public static void main(String[] args) {
31         //1.定義一個長度為5的int類型的數組.
32         int[] arr = new int[5];             //11 0, 0, 0, 0
33         System.out.println(arr);            //因為數組是對象, 是以直接列印數組, 列印的是: 該對象在記憶體中的位址值.
34 
35         //2.列印數組中的第3個元素.
36         System.out.println(arr[2]);         //索引從0開始.
37 
38         //3.設定數組中的第一個元素值為11.
39         arr[0] = 11;
40 
41         //4.擷取數組中的第一個元素值, 并将其指派給變量a, 然後列印.
42         int a = arr[0];
43         System.out.println(a);              //11
44 
45         //5.列印數組的長度.
46         System.out.println(arr.length);
47     }
48 }           
1 package com.it.demo08_array;
 2 
 3 /*
 4     JVM的記憶體劃分:
 5         1. 棧
 6             作用:
 7                 存儲局部變量以及所有代碼的執行的.
 8                 //局部變量: 就是定義在方法中或者方法聲明上的變量.
 9             特點:
10                 先進後出, 後進先出.             //用完就釋放.
11         2. 堆
12             作用:
13                 存儲所有new出來的内容(對象)
14             特點:
15                 在不确定的時間, 被GC(Java中的垃圾回收機制)回收.
16         3. 方法區
17             作用:
18                 用來存儲 位元組碼檔案, 靜态成員, 常量, 具體的方法等内容.
19             分類:
20                 代碼區, 方法區, 常量池, 靜态區.
21         4. 本地方法區
22             給本地方法(native修飾的方法)使用的, 我們了解即可.
23         5. 寄存器
24             給CPU使用的, 我們了解即可.
25  */
26 
27 //案例: 示範一個數組的記憶體圖.
28 public class Demo03 {
29     public static void main(String[] args) {
30         int[] arr = new int[3];
31         System.out.println(arr[0]);    //列印數組中的第一個元素, 值為: 0
32         System.out.println(arr);    //[I@1540e19d
33     }
34 }           
Java 複習整理 03
1 package com.it.demo08_array;
 2 
 3 //案例: 示範兩個數組的記憶體圖
 4 public class Demo04 {
 5     public static void main(String[] args) {
 6         //1.定義一個長度為3的int類型的數組.
 7         int[] arr = new int[3];             //0, 0, 0
 8         //2.修改數組中的第一個元素為: 11
 9         arr[0] = 11;                        //11, 0, 0
10         //3.列印數組中的第一, 第二個元素.
11         System.out.println(arr[0]);         //11
12         System.out.println(arr[1]);         //0
13         //4.列印數組對象.
14         System.out.println(arr);            //位址值
15         //5.定義一個int類型的數組, 存儲元素1, 2.
16         int[] arr2 = new int[]{1, 2};       //1, 2
17         //6.修改數組的第二個元素值為: 22.
18         arr2[1] = 22;                       //1, 22
19         //7.列印數組的第二個元素.
20         System.out.println(arr2[1]);        //22
21         //8.列印數組對象.
22         System.out.println(arr2);           //位址值
23     }
24 }           
1 package com.it.demo08_array;
 2 
 3 //案例: 示範兩個數組指向同一個位址的記憶體圖.
 4 public class Demo05 {
 5     public static void main(String[] args) {
 6         //1.定義一個int類型的數組, 存儲元素11, 22, 33.
 7         int[] arr = new int[]{11, 22, 33};
 8         //2.列印數組對象.
 9         System.out.println(arr);
10         //3.列印數組中的各個元素值.
11         System.out.println(arr[0]);
12         System.out.println(arr[1]);
13         System.out.println(arr[2]);
14         //4.定義第二個數組, 把第一個數組的位址值指派給第二個數組.
15         int[] arr2 = arr;
16         //5.通過第二個數組, 修改第二個元素值為200.
17         arr2[1] = 200;
18         //6.列印數組對象.
19         System.out.println(arr2);
20         //7.列印數組中的各個元素值.
21         System.out.println(arr[0]);
22         System.out.println(arr[1]);
23         System.out.println(arr[2]);
24 
25         System.out.println(arr2[0]);
26         System.out.println(arr2[1]);
27         System.out.println(arr2[2]);
28 
29     }
30 }           
1 /*
 2     二維數組
 3       數組中的數組,數組裡面存儲的還是數組
 4       
 5     定義方式和一維數組很相似
 6     
 7     int[][] arr = new int[3][4];
 8     定義一個二維數組
 9     [3]  表示: 二維數組中,有三個一維數組
10     [4]  表示: 三個一維數組中,每個數組的長度是4
11 */
12 public class ArrayArrayDemo{
13     public static void main(String[] args){
14         int[][] arr = new int[3][4];
15         System.out.println(arr);
16         
17         System.out.println(arr[1]);
18         System.out.println(arr[2][3]);
19     }//歡迎加入Java開發交流君樣:909038429
20 }           
1 /*
 2      int[][] arr = new int[3][] 不推薦
 3      二維數組中定義三個一維數組,每個一維數組長度,沒有指定
 4      arr[0]
 5      arr[1]
 6      arr[2]
 7      必須要new
 8        arr[0] = new int[5];
 9        arr[1] = new int[4];
10        
11      最簡單的二維數組定義方式
12        int[][] arr = { {1,4} ,{3,6,8}, {0,9,8} };
13 */
14 
15 public class ArrayArrayDemo_1{
16     public static void main(String[] args){
17         int[][] arr = { {1,2,3},{4,5},{6,7,8,9},{0} };
18         
19         //問題: 列印7,是數組中的元素0
20         
21         System.out.println(arr[2][1]);
22         
23         //問題: 輸出結果
24         System.out.println(arr[3][0]);
25     }
26 }           
1 /*
 2   二維數組的周遊
 3     二維數組中,存儲4個一維數組,每個一維數組的長度不同
 4 
 5     周遊: for循環,周遊二維數組
 6           周遊過程中, for周遊一維數組
 7 
 8 */
 9 public class ArrayArrayDemo_2{
10     public static void main(String[] args){
11         int[][] arr = { {1,2,3},{4,5},{6,7,8,9},{0} };
12         
13         //外循環,周遊二維數組
14         for(int i = 0 ; i < arr.length ;i++){
15             //内循環,周遊每個一維數組 arr[0] arr[1] arr[i]
16             for(int j = 0 ; j < arr[i].length; j++){
17                 System.out.print(arr[i][j]);
18             }
19             System.out.println();
20         }
21     }
22 }           
1 /*
 2    二維數組的周遊求和
 3     第一小組銷售額為{11, 12}萬元    
 4     第二小組銷售額為{21, 22, 23}萬元
 5     第三小組銷售額為{31, 32, 33, 34}萬元。
 6     每個小組就是一個數組, 三個數組存儲到一個數組中,形成二維數組
 7     求和:
 8       每個小組求和
 9       所有元素求和
10 */
11 
12 public class ArrayArrayDemo_3{
13     public static void main(String[] args){
14         int[][] arr = {  {11,12} , {21,22,23} ,{31,32,33,34} };
15         //定義變量,儲存2個求和的值
16         int sum = 0 ; //所有元素的求和
17         int groupSum = 0 ; //每個一維數組的求和
18         
19         for(int i = 0 ; i < arr.length ; i++){
20             for(int j = 0 ; j < arr[i].length ; j++){
21                 //将一維數組的元素求和
22                 groupSum += arr[i][j];
23             }
24             System.out.println("每個小組總金額 "+groupSum);
25             
26             //将每個一維數組的總和在相加
27             sum += groupSum;
28             //每個唯一數組求和,清空
29             groupSum = 0;
30         }
31         System.out.println("本公司總金額 "+sum);
32     }
33 }           
1 /*
 2    随機點名器:
 3      1  存儲姓名
 4      2. 預覽所有人的姓名
 5      3. 随機出一個人的姓名
 6 */
 7 import java.util.Random;
 8 public class CallName{
 9     public static void main(String[] args){
10         //存儲姓名,姓名存儲到數組中
11         //數組存儲姓名,姓名的資料類型,String
12         String[] names = {"張三","李四","王五","李蕾","韓梅梅","小名","老王","小華","約翰遜","愛麗絲"};
13         
14         //預覽: 周遊數組,列印所有姓名
15         for(int i = 0 ; i < names.length ; i++){
16             System.out.println(names[i]);
17         }//歡迎加入Java開發交流君樣:909038429
18         System.out.println("=============");
19         
20         //随機出一個人的名
21         //利用随機數,生成一個整數,作為索引,到數組中找到對應的元素
22         Random ran = new Random();
23         //随機數,範圍必須是0-數組的最大索引
24         int index = ran.nextInt(names.length);//index 就是随機數,作為索引
25         System.out.println(names[index]);
26     }
27 }           
1 package com.it.demo01_array;
 2 
 3 /*
 4     案例: 數組内容回顧.
 5 
 6     數組簡介:
 7         概述:
 8             就是用來同時存儲 多個 同類型元素的 容器.
 9         特點:
10             1. 元素都有編号(下标, 角标, 索引), 且編号是從 0 開始的.
11             2. 數組的每個元素都有預設值.
12                 int[]       ->      0
13                 double[]    ->      0.0
14                 boolean[]   ->      false
15                 引用類型數組->      null
16         定義格式:
17             動态初始化:  我們給長度, 系統給預設值.
18                 格式1:
19                     int[] arr = new int[3];
20                 格式2:
21                     int arr[] = new int[3];
22             靜态初始化:  我們給值, 由系統決定長度.
23                 格式1:
24                     int[] arr = new int[]{11, 22, 33};
25                 格式2:
26                     int[] arr = {11, 22, 33};
27         數組的基本使用格式:
28             數組名[索引]         根據索引, 擷取數組中的該元素值.
29             數組名[索引] = 值    修改指定索引處的元素為指定的值.
30             數組名.length        擷取數組的長度
31             數組名.length - 1    擷取數組中元素的 最大索引值.
32         數組的記憶體圖:
33             了解.
34  */
35 public class Demo01 {
36     public static void main(String[] args) {
37 
38     }
39 }           
1 package com.it.demo01_array;
 2 
 3 /*
 4     案例: 示範使用數組時的兩個小問題.
 5 
 6     問題一:  數組索引越界異常(ArrayIndexOutOfBoundsException)
 7         問題描述:
 8             數組的長度為2, 但是我們卻通路了數組中的第3個元素, 此時代碼就有問題了, 會報: 數組索引越界異常(ArrayIndexOutOfBoundsException)
 9         産生原因:
10             你通路了數組中不存在的元素.
11         解決方案:
12             通路數組中存在的元素即可.
13  */
14 public class Demo02 {
15     public static void main(String[] args) {
16         //1.定義int類型的數組, 存儲元素11, 22.
17         //int[] arr = new int[]{11, 22};
18         int[] arr = {11, 22};                        //int a = 10;
19         arr = new int[]{1, 2, 3, 4, 5};              //a = 20;
20         //arr = {1, 2, 3, 4, 5, 6};         //這樣寫會報錯, 靜态初始化的 文法糖隻有在定義數組的時候有效.
21 
22         //2.列印數組中的第2個元素.
23         System.out.println(arr[1]);         //22
24 
25         //3.嘗試列印數組中的第3個元素.
26         System.out.println(arr[2]);         //數組索引越界異常(ArrayIndexOutOfBoundsException)
27     }
28 }           
1 package com.it.demo01_array;
 2 
 3 /*
 4     案例: 示範空指針異常.
 5 
 6     問題二: 空指針異常(NullPointerException)
 7         問題描述:
 8             我們定義了數組對象, 初始化值為11, 22, 然後将null指派給數組對象, 發現列印數組的第一個元素時, 程式報錯: 空指針異常(NullPointerException)
 9         産生原因:
10             null表示空, 即什麼都沒有, 是以你通過null去通路數組中的元素, 肯定找不到, 于是就報錯.
11         解決方案:
12             new一個具體的數組, 然後來通路數組中存在的元素即可.
13 
14  */
15 public class Demo03 {
16     public static void main(String[] args) {
17         //1.定義int類型的數組, 存儲元素11, 22.
18         int[] arr = {11, 22};
19         //2.将null(空常量)指派給數組.
20         arr = null;
21         //arr = new int[3];
22         //3.嘗試列印數組的第一個元素.
23         System.out.println(arr[0]);     //空指針異常(NullPointerException)
24     }
25 }           
1 package com.it.demo02_exercise;
 2 
 3 /*
 4     案例: 周遊數組.
 5 
 6     大白話翻譯: 即逐個擷取數組中的元素, 并列印.
 7  */
 8 public class Demo01 {
 9     public static void main(String[] args) {
10         //1.定義int類型的數組arr, 存儲元素11, 22, 33, 44, 55.
11         int[] arr = {11, 22, 33, 44, 55};
12 
13         //2.通過for循環, 周遊數組.
14 
15         //方式二: 實際開發版
16        //2.1 通過for循環, 擷取數組中所有元素的索引.
17         for (int i = 0; i < arr.length; i++) {
18             //i就是數組中每個元素的: 索引值.
19 
20             //2.2 根據 數組名[索引] 的方式, 擷取數組中的元素.
21             System.out.println(arr[i]);
22         }
23 
24         System.out.println("------------------------");
25         //方式一: 最Low版
26         System.out.println(arr[0]);
27         System.out.println(arr[1]);
28         System.out.println(arr[2]);
29         System.out.println(arr[3]);
30         System.out.println(arr[4]);
31     }//歡迎加入Java開發交流君樣:909038429
32 }           
1 package com.it.demo02_exercise;
 2 
 3 /*
 4     案例: 擷取數組元素的最大值.
 5 
 6     需求:
 7         已知各位美女的顔值如下圖, 請求出下圖中, 顔值最高的數字, 并列印到控制台上.
 8         即:求數組int[] arr = {5, 15, 2000, 10000, 100, 4000};的最大值.
 9 
10     細節:
11         1. 假設數組的第一個元素值為最大(小)值, 這個值不能我們自定義, 否則可能會比數組中所有元素值都大, 或者都小.
12         2. 從數組的第二個元素開始周遊, 逐個比較, 可以減少一次比較次數, 進而節約資源, 提高效率.
13  */
14 public class Demo02 {
15     public static void main(String[] args) {
16         //已知各位美女的顔值如下圖, 請求出下圖中, 顔值最高的數字, 并列印到控制台上.
17         //即:求數組int[] arr = {5, 15, 2000, 10000, 100, 4000};的最大值.
18         //1. 定義數組, 記錄要擷取最值的元素.
19         int[] arr = {5, 15, 2000, 10000, 100, 4000};
20 
21         //2. 定義變量, 用來記錄數組元素的最大值.
22         int max = arr[0];
23 
24         //3. 周遊數組, 擷取到每一個元素.
25         for (int i = 1; i < arr.length; i++) {
26             //arr[i]: 就是數組中的每個元素
27             //4. 依次比較目前周遊到的元素 是否大于 臨時變量max的值, 如果大, 就将其值指派給max.
28             if (arr[0] > max)
29                 max = arr[i];
30         }
31         //5. for循環結束後, max記錄的就是數組元素的最大值, 列印結果即可.
32         System.out.println("數組元素最大值是: " + max);
33     }
34 }           
1 package com.it.demo02_exercise;
 2 
 3 /*
 4     案例: 示範數組元素的反轉.
 5 
 6     解決方案:
 7         思路一:  初始化條件定義一個.
 8             細節一:  必須明确數組元素的交換次數, 即:  數組的長度 / 2
 9             細節二:  必須明确誰和誰交換.  arr[i]  和  arr[arr.length - 1 - i]
10 
11         思路二:  初始化條件定義兩個.
12             細節:
13                 定義兩個變量start, end, 分别記錄交換雙方的元素的索引值, 一個(start)從前往後, 一個(end)從後往前.
14 
15     分析思路:
16                     arr[0]             arr[arr.length - 1 - 0]
17         第1次交換:  第一個元素11  和  倒數第一個元素44, 交換完畢後為:   44, 33, 22, 55, 11
18 
19                     arr[1]             arr[arr.length - 1 - 1]
20         第2次交換:  第二個元素33  和  倒數第二個元素55, 交換完畢後為:   44, 55, 22, 33, 11
21 
22         ...
23                     arr[i]             arr[arr.length - 1 - i]
24         第i次交換:  第i個元素  和  倒數第i個元素交換.
25 
26  */
27 public class Demo03 {
28     public static void main(String[] args) {
29         //1.定義int類型的數組, 存儲資料: 11, 33, 22, 55, 44.
30         int[] arr = { 11, 33, 22, 55, 44};
31 
32         //2.反轉數組
33         /*
34             思路一:  初始化條件定義一個.
35 
36             細節一:  必須明确數組元素的交換次數, 即:  數組的長度 / 2
37             細節二:  必須明确誰和誰交換.  arr[i]  和  arr[arr.length - 1 - i]
38          */
39         /*for (int i = 0; i < arr.length / 2; i++) {
40             //arr[i]  和  arr[arr.length - 1 - i] 交換
41             int temp = arr[i];
42             arr[i] = arr[arr.length - 1 - i];
43             arr[arr.length - 1 - i] = temp;
44         }*/
45 
46 
47         //思路二: 初始化條件定義兩個.
48         for(int start = 0, end = arr.length - 1; start < end; start++, end--) {
49             //arr[start] 和 arr[end]交換
50             int temp = arr[start];
51             arr[start] = arr[end];
52             arr[end] = temp;
53         }
54 
55         //3. 并列印反轉後的結果.
56         for (int i = 0; i < arr.length; i++) {
57             System.out.println(arr[i]);
58         }
59     }
60 }           
1 package com.it.demo02_exercise;
 2 
 3 /*
 4     案例: 計算數組的元素和.
 5 
 6     需求:
 7         1. 定義int類型的數組, 存儲資料: 11, 33, 22, 55, 44.
 8         2. 計算數組的元素和, 并列印結果.
 9  */
10 public class Demo04 {
11     public static void main(String[] args) {
12         //1. 定義int類型的數組, 存儲資料: 11, 33, 22, 55, 44.
13         int[] arr = {11, 33, 22, 55, 44};
14         //2. 定義求和變量sum, 用來記錄所有元素的和.
15         int sum = 0;
16         //3. 周遊數組, 擷取到每一個元素.
17         for (int i = 0; i < arr.length; i++) {
18             sum += arr[i];
19         }
20         //4. 将擷取到的值累加給周遊sum
21         System.out.println("數組元素和為: " + sum);
22 
23         //5. 列印結果.
24     }
25 }