====== 數組的使用======
一、三種使用方法
1、使用方式一:動态初始化
格式:資料類型[ ] 變量名 = new 資料類型[大小]
例:double[] hens = new double[5];
使用方式一:動态初始化
double[] hens = new double[5];
Scanner myScanner = new Scanner(System.in);
for(int i = 0 ; i < hens.length ; i++){
System.out.println("請輸入第"+ (i+1) +"個雞的重量");
hens[i] = myScanner.nextDouble();
}
System.out.println("========輸出=========");
for(int i = 0 ; i < hens.length ; i++){
System.out.println("第"+ (i+1) +"個雞的重量為:" + hens[i]);
}
2、使用方式二:先聲明再初始化
格式:資料類型[ ] 變量名;
變量名 = new 資料類型[大小 ];
例:double[] hens;
hens = new double[5];
double[] hens ;
Scanner myScanner = new Scanner(System.in);
hens = new double[5];
for(int i = 0 ; i < hens.length ; i++){
System.out.println("請輸入第"+ (i+1) +"個雞的重量");
hens[i] = myScanner.nextDouble();
}
System.out.println("========輸出=========");
for(int i = 0 ; i < hens.length ; i++){
System.out.println("第"+ (i+1) +"個雞的重量為:" + hens[i]);
}
3、使用方式三:使用靜态初始化(知道數值且數量較少時使用)
格式:資料類型[ ] 變量名 = {};
例:double[ ] hens = {2,3,4,5,6};
double[] hens = {2,3,5,7,9};
System.out.println("========輸出=========");
for(int i = 0 ; i < hens.length ; i++){
System.out.println("第"+ (i+1) +"個雞的重量為:" + hens[i]);
}
=注意事項===
**一、**數組是多個相同類型資料的組合,實作對這些資料的統一管理
**二、**數組中的元素可以是任何資料類型,包括基本類型和引用類型,但是不能混用。
**三、**數組建立後,如果沒有指派,有預設值int 0, short 0, byte 0, long 0, float 0.0,double 0.0, char \u0000,.boolean false,String null
四、使用數組的步驟
1.聲明數組并開辟空間
2給數組各個元素指派
3使用數組
五、數組的下标是從0開始的。
六、數組下标必須在指定範圍内使用,否則報:下标越界異常,比如
int arr=new int[5];則有效下标為0-4
七、數組屬引用類型,數組型資料是對象(object)
數組指派機制==
一、變量(基本類型)的指派機制(值傳遞)
二、數組(引用資料類型)的指派機制(位址傳遞)

如圖:
1、在定義基本資料類型時:
int n1 = 10 ;
int n2 = n1 ;
n2 = 80 ;
此時n2 = 80 ,而 n1 = 10;n1的值并不會改變
相當于重新申請了一塊空間。
2、在定義引用資料類型時:
int [ ] arr1 = { 1, 3, 5} ;
int [ ] arr2 = arr1 ;
arr2[0] = 10 ;
而此時當把 arr1 指派給 arr2 時,是 arr2 指向了 arr1 的記憶體位址,相當于 arr1 和 arr2 指向了同一塊記憶體位址,此時修改 arr1 裡的值 arr2 也同時會修改。