<small>
1、數組
數組也是變量。
用來存相同類型的數據集合。
1)、數組定義
①數組聲明
回顧:變量聲明
變量類型 變量名;
數組聲明:
變量類型[] 變量名;
變量類型[] 引用;//引用類型變量的另一種稱呼。
String[] names;//裝有String類型的數據集合
int[] ages;//裝有int類型的數據集合。
數組的分配空間:
變量名 = new 變量類型[長度];
names = new String[7];
ages = new int[7];
注意:數組聲明、分配空間同時進行
String[] names = new String[7];
int[] ages = new int[7];
②、數組的幾個概念
變量類型[] 變量名 = new 變量類型[長度];
String[] names = new String[7];
數組:相同類型的數據集合。
數組大?。ㄩL度):分配空間的多少即長度。
元素:數組中每一個變量。
元素個數:即數組大小。
元素類型:每個變量的類型,由數組定義決定。
下標:元素所在數組中的位置。
下標從 0 開始,到 數組大小 - 1結束。
第幾個元素:
names[index] :第 index + 1個元素。
數組下標越界:
當下標超出 0 到 數組大小 - 1 范圍之外。
則代碼會拋出數組下標越界異常。
ArrayIndexOutOfBoundsException
語言描述數組的定義:
String[] names = new String[7];
描述如下:
定義一個String字符串類型的數組,取名names。
該數組大?。ㄩL度)為7,該數組含有7個元素(即
由7個String類型的變量組成)。
數組下標從 0 開始,到 7-1 結束。
int[] ages = new int[7];
double[] heights = new double[7];
③、數組的“初始化”
數組元素默認值。
當數組定義(數組聲明、分配空間)完后,
數組中的元素即有了對應的默認值。
int類型,元素默認值 0
double類型,元素默認值 0.0
boolean類型,元素默認值 false
String類型,元素默認值 null.
所有的引用類型,元素默認值都是 null。
數組元素的賦值:
方式一:先定義數組,再給元素內容進行賦值
可以暫時性不知道元素內容,
什么時候知道,什么時候賦值。
a、規律的數組元素賦值
可以通過循環實現。
for(int i=0; i<7; i++){
names[i] = "陳悅"+(i+1);
ages[i] = 18+i;
}
b、不規律的數組元素賦值
沒轍,挨個賦值。
names[0] = "陳悅";
names[1] = "胡震";
names[2] = "魏楠";
ages[0] = 27;
ages[1] = 25;
ages[2] = 20;
方式二:在對數組元素已知的情況下。
數組類型[] 引用名 = {元素1,元素2,元素3};
String[] names = {"陳悅","魏楠","陳龍"};
方式三:方式二的升級版
數組類型[] 引用名 =
new 數組類型[]{元素1,元素2,元素3};
[]內沒有長度
String[] names =
new String[]{"陳悅","魏楠","陳龍"};
④、數組使用
數組使用:即使用的是數組中的元素。
a、批量使用
可以通過循環實現。
for(int i=0; i<7; i++){
System.out.println("我叫"+names[i]+",今年"+ages[i]+"歲");
}
b、單個使用
可以通過下標來確定使用的元素。
System.out.println(names[2]);//使用數組names中第三個元素。
System.out.println(ages[2]);//使用數組ages中第三個元素。
變量聲明、初始化、賦值、使用。
String name1 = "胡震";
int age1 = 18;
String name2 = "陳龍";
int age2 = 19;
String name3 = "陳悅";
int age3 = 20;
練習:
使用數組方式進行打?。? 1 2 3 4 5 6 7 8 9
&
&
&
&
&
&
&
&
&
2、數組的屬性
對數組的循環操作時,如果對數組長度進行硬代碼編寫。
會對程序的后期維護升級帶來不必要的麻煩。
可以使用數組的length屬性,代替數組長度硬編碼。
使得代碼更加的靈活。
length:代表數組的大?。ㄩL度)、元素的個數。
for(int i=0; i<7; i++){
System.out.println("我叫"+names[i]+",今年"+ages[i]+"歲");
}
i<7改成
for(int i=0; i<names.length; i++){
System.out.println("我叫"+names[i]+",今年"+ages[i]+"歲");
}
補充知識點:
當代碼發送異常,如何解決:
step1:控制臺肯定會打印出異常信息。
step2:對異常信息分析:
從異常打印開始,往下找,
找到自己最熟悉的一行信息提示。
錯誤提示:完整的包名.類名.方法名(行號)
step3:單擊點進去。
分析一下代碼邏輯結構,對代碼進行修改。