數組是java引用數據類型之一,數組是一組相同數據類型的數據,存放在數組中的每個數據,都叫作數組的元素。數組有一個特色,一個數組一旦建立元素個數就不能再改變了,如下就詳細講解一下數組:java
建立數組的方式有三種:編程
方式1:數組
int[] number = new int[10];spa
這種方式是建立一個數組只建立了數組,沒有給數組中添加數據,數組名稱爲number,數組的長度爲10,也就是說這個數組最多隻能存放10個數據,多餘10個數據則程序報異常:ArrayIndexOutOfBoundsException,而且這個數組裏面只能存放int數據類型的數據。3d
方式2:code
int[] number = {10,9,12,30,15};blog
這種方式建立數組,數組名爲number,並直接給數組裏面添加了數據,使用這種方式建立數組,不須要給數組指定個數,同時也不能給該數組添加元素。內存
方式3:io
int[] number = new int[]{10,12,14,8,7,6};for循環
這種方式建立數組,也是一建立就直接添加了元素,不須要再指定數組的長度了。
下面就來用代碼建立一個數組:
1 public void method_1(){ 2 //使用方式1建立一個長度爲5的數組: 3 int[] number = new int[5]; 4 5 //向數組number中添加數據(元素) 6 number[0] = 10; 7 number[1] = 12; 8 number[2] = 13; 9 number[3] = 10; 10 number[4] = 9; 11 }
上面的代碼是用方式1建立的數組,並向數組中添加了5個數據(元素),下面對上面的代碼進行解釋:
int[] number = new int[5];這句代碼其實就是建立一個數組,實質上是在堆內存中開闢一塊空間,數組是引用型數據類型,所以一旦建立,必定有一個默認值,int類型的數據默認值爲0,以下圖:
下面的5句代碼:
number[0] = 10;
number[1] = 12;
number[2] = 13;
number[3] = 10;
number[4] = 9;
是給數組中給定數據,執行完上面5句代碼的以後,數組中的數據就改變了,以下圖:
如今這個number裏面的數據,就編程了10,12,13,10,9
下面講解一下數組中的經常使用操做:
一、遍歷數組兩種方式
方式1,:使用加強for循環,以前在java-循環裏面提到過。
1 public void method_2(){ 2 //使用方式2建立一個數組,而且賦值 3 int[] number = {10,12,13,10,5}; 4 5 //使用加強for循環遍歷數組中的每個元素: 6 //括號裏面的int爲數組的數據類型,i指的是元素中的每個數據,number指數組的名稱 7 for(int i : number){ 8 System.out.println(i); 9 } 10 }
方式2:使用普通的for循環,用數組的下標操做數組中的每個元素:
1 public void method_3(){ 2 //使用方式2建立數組,而且賦值 3 int[] number = {10,12,13,10,4}; 4 5 //使用for循環,用數組的下標值操做數組中的元素 6 for(int i = 0;i < number.length;i++){ 7 System.out.println(number[i]); 8 } 9 }
這種方式是最經常使用的,對裏面的知識點講解:
number.length:length是數組的長度屬性,這句代碼是數組名.length,做用是獲取數組的長度(元素的個數),這裏數組的長度爲5.
i:做爲變量當作數組的下標值,從0到數組的長度-1,由於代碼是i < number.length,是小於,沒有等於,所欲是取不到長度那個數值的,只能取到length-1的值。
number[i]:i是做爲下標值的,那麼這句代碼的做用是獲取到元素指定的下標值。i是從0到length-1,那也能夠得出,數組的最大下標值永遠是數組的長度-1
好比上述代碼的圖示:
二、找出數組中的元素的最大值:
原理:定義一箇中間變量,假設其值爲最大值,一開始假設數組中的第一個元素的值爲最大值。
再用中間變量和數組中的元素進行比較,若是數組中的元素比中間變量的值大,則將中間變量的值修改成該元素的值,這樣依次比較,直到整個數組的元素所有被比較結束,那麼中間變量的值就是該數組中的最大值。
注:由於一開始假設了最大值爲數組的第一個元素,所以第一個元素不須要參與比較,比較從第二個元素開始。
圖示以下:
事例代碼:
1 public void method_4(){ 2 //使用方式2建立一個數組。 3 int[] number = {10,12,13,10,4}; 4 5 //定義中間變量,假設中間變量爲最大值,一開始假設數組中的第一個元素的值爲最大值; 6 int temp = number[0]; 7 8 //使用for循環,遍歷整個數組,這裏表明下標的變量值從1開始。由於第一個元素不須要比較了 9 for(int i = 1;i < number.length;i++){ 10 //將數組中的每個元素和中間變量比較判斷,若是該元素的值比中間變量的大,則將中間變量的值修改成該元素 11 if(number[i] > temp){ 12 temp = number[i]; 13 } 14 } 15 }
三、找出數組中的最小值:同上面的原理,自行分析。