java-數組

數組是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 }

三、找出數組中的最小值:同上面的原理,自行分析。

相關文章
相關標籤/搜索