5.Java語言數組

數組

1.容器的概念:

容器是將多個數據存儲到一起,每個數據稱爲該容器的元素。

生活中的容器:水杯,衣櫃,教室。

2.數組的概念:

              數組就是存儲數據長度固定的容器,保證多個數據的數據類型要一致。

1.所有元素類型必須一致

2.一旦創建長度不能改變

3.數組的定義:(三種定義方式)

       1.方式一:

                     數組存儲的數據類型[] 數組名 = new 數組存儲的數據類型[長度];

int[] arr = new int[3];

  1. 長度自己指定

2.方式二:

              數據類型[] 數組名 = new 數據類型[]{元素1,元素2,元素3...};

              int[] arr = new int[]{1,2,3,4,5};

長度自動識別

       3.方式三:

                     數據類型[] 數組名 = {元素1,元素2,元素3...};

                     int[] arr = {1,2,3,4,5};

       4.總結:

                     數組存儲的數據類型: 創建的數組容器可以存儲什麼數據類型。

[] : 表示數組。

數組名字:爲定義的數組的變量名,滿足標識符規範,可以使用名字操作數組。

new:關鍵字,創建數組使用的關鍵字。

數組存儲的數據類型: 創建的數組容器可以存儲什麼數據類型。

[長度]:數組的長度,表示數組容器中可以存儲多少個元素。

注意:數組有定長特性,長度一旦指定,不可更改。

4.數組的訪問:

       1.格式:

                     數組名[索引];索引從0開始

       2.索引:

每一個存儲到數組的元素,都會自動的擁有一個編號,從0開始,這個自動編號稱爲數組索引 (index),可以通過數組的索引訪問到數組中的元素。

       3.訪問:

                     數組名[索引] = 數值;表示給數組元素賦值

                     變量 = 數組名[索引]  表示取出數組元素賦值給變量

       4.數組的內存圖解:int[] array = new int[4] 四個元素

 

 
 


                    

 

 

       5.注意:

數組越界:索引超過長度(索引最大是長度-1)

空指針:數組內容被清除,數組名=null

5.數組的遍歷:

       通過for循環遍歷,次數爲數組長度。

 

 
 


       初始化循環變量從零開始,循環條件可爲1)< 數組名.length 2)<=數組名.length-1

 

6.數組作爲方法參數和返回值:

       1.數組作爲方法參數傳遞:

傳遞的參數是數組內存的地址。

       2.數組作爲方法返回值

 

 
 


                     返回的是數組的首地址

 

7.數組的最大值獲取:

              獲取數組中的最大值,就像是打擂臺一樣,最後選出最大值。

              //首先創建一個擂臺,擂臺就是一個數組

              int[] array = {10,50,20,40,100,80}

//然後讓一個人先上臺,等待其他人上臺比試

int max = array[0];

//等待全部人上臺比試

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

       //如果有人比第一個人厲害,那麼他就是暫時的擂主

       if(array[i]>max){

       max = array[i];

}

}

//比試結束,擂主選出,輸出最大值

System.out.println(max);

8.數組的反轉原理:

一串數字,第一個數字和最後一個數字交換位置,第二個數字和倒數第二個數字交換位置....

第一種方式:

int[] array = {1,2,3,4,5,6};

//獲取兩個索引,一個是第一個元素的索引,一個是在最後一個元素的索引

int min = 0;

int max = array.length-1;

//最小的索引+1,最大的索引-1進行交換,可以用循環實現

//交換先定義一箇中間轉換量

int temp = 0;

while(min < max ){

       //交換位置,用到中間變量轉接數值

       temp = arrary[min];

       array[min] = array[max];

array[max] = temp;

}

              第二種方式:

                     int[] array = {1,2,3,4,5,6};

                     //交換中間變量

                     int temp = 0;

                     //獲取數組長度,用.length屬性獲取

                     //遍歷數組長度的一半,通過.length-1-i獲取對用的後面需要交換位置的元素

                     for(int i = 0;i < array.length/2;i++){

                 //array[i]和array[array.length-i]交換

                  temp = arrary[i];

                  array[i] = array[array.length-1-i];

                              array[array.length-1-i] = temp;

                      }

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章