1. 程式人生 > >第八章

第八章

ofb 設置 比較 位置 插入 數組名 數字 tro 個數

一、 什麽是數組及其作用?

定義:具有相同數據類型的一個集合

作用:存儲連續的具有相同類型的數據

二、 java中如何聲明和定義數組

l 聲明和定義的語法:

數據類型[ ] 數組名;( int[ ] nums ; )

或 數據類型 數組名[]; ( int nums[ ] ;)

l 為數組分配空間

數組名=new 數據類型[數組的長度]; ( nums=new int[5] ;)

l 聲明數組,同時分配空間

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

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

( int[ ] nums=new int[5] ;) ( int nums[ ]=new int[5] ;)

三、 如何讀取數組中的元素— 通過下標(索引)來獲取

下標(索引)是從0開始,最大下標為 數組長度-1

下標越界:ArrayIndexOutOfBoundsException

int類型的數組,每個元素的默認值為0

String類型的數組,每個元素的默認值為null

1、 獲取單個元素的值

數據類型 變量名=數組名[下標];

2、 循環讀取數組中的每個元素

數組的長度:數組名.length 屬性自動計算

for(int i=0;i<數組名.length ;i++){

數組名[i];

}

如何給數組中的元素賦值

方式1(賦予數組固定值):

聲明數組,分配空間,並賦值

(數組的長度由值的個數決定)

數據類型 數組名[]=new 數據類型[]{值1,值2…值n};

數據類型 []數組名={值1,值2…值n};

說明:[]中括號可以放在數組名前面或後面

方式2:動態的給數組賦值(從鍵盤中輸入)

Scanner input = new Scanner(System.in);

for(int i=0;i<數組名.length ; i++){

String類型的數組名[i]= input.next ();

int類型的數組名[i]= input.nextInt ();

double類型的數組[i]=input.nextDouble();

}

五、數組排序問題

使用Arrays. sort(數組名);

實現對數組中的元素按升序或降序輸出

六、求最大值或最小值

實現思路:將數組中的第1個元素的值,假想成最大(小)值【賦值】;然後數組中的每個元素和假想的這個最大(小)數進行比較,如果數組中的某個元素的值,比最大(小)數要大(小),將該元素的值,保存到假想的最大(小)值對應的變量中【給假想最值變量賦值】

七、求數組中最值的位置

1、 在循環的外面,定義變量k(賦值為0),用於保存最值的下標

2、 在循環中,比較找出最值的同時,給變量k賦值

八、斐波那契數列

1,1,2,3,5,8,13,21,34……求第20個數字的值?(使用循環)

規律:第i個 + 第(i+1)個 = 第(i+2)個

步驟1:定義數組,數組長度為20

int []nums=new int[20];

步驟2:根據規律,獲取第0個和第1個數的初值

nums[0]=1;

nums[1]=1;

步驟3:通過循環,給數組中的所有元素賦值

for ( int i=0;i<nums.length-2;i++){

nums [i+2]=nums[i]+nums[i+1];

}

for(int i=2;i<nums.length;i++){

nums[i]=nums[i-2]+nums[i-1];

}

步驟4:輸出nums[19]的值

九、(一、)已知一個數組,如何將一個【新的元素】插入到數組中的指定位置?

實現思路:

1、 定義一個長度為 【已知數組長度+1】的新數組YY

2、 使用第1個循環,將已知數組中的每個元素的值,保存到新數組YY中

3、 使用第2個循環,將新數組YY中的元素,從倒數第2個(新數組YY的長度-2)元素開始到指定的位置,依次向後移動1個位置

4、 直接將【新的元素】賦值給新數組YY中的指定元素(下標為指定位置)即可

5、 使用第3個循環,輸出新數組YY的值

(二、)已知1個按升序或降序排列的數組,向該數組中,插入一個新的值,插入成功後,數組仍然按照升序或降序排列?

1、 設置插入位置變量index的初始值為:數組長度-1;

2、 使用第1個循環,讓插入的數值和數組中的每個元素進行比較,如果插入的數值比數組中某個元素的值要大或小,把該元素的下標的值, 賦予插入位置變量index,同時終止循環

3、 使用第2個循環,移動位置,從【數組長度-2】到【插入位置變量index】

4、 將插入的值,保存到數組下標為index的位置

5、 使用第3個循環,輸出數組所有元素的值,同時輸出新值插入的位置

第八章