1.首先必須聲明數(shù)組變量锨咙,才能在程序中使用數(shù)組,下面是聲明數(shù)組變量的語法:
dataType[ ] arrayRefVar; // 首選的方法
或
dataType arrayRefVar[ ]; // 效果相同抱慌,但不是首選方法
2.Java語言使用new操作符來創(chuàng)建數(shù)組,語法如下:
dataType[ ] arrayRefVar = new dataType[arraySize];
3.數(shù)組的元素是通過索引訪問的眨猎,數(shù)組索引從0開始抑进。
4.獲取數(shù)組長度:arrays.length
public class ArrayDemo {
//變量的類型 變量的名字 = 變量的值
//數(shù)組類型
public static void main(String[] args) {
int[] nums;//1.聲明一個(gè)數(shù)組
nums = new int[10];//這里面可以存放10個(gè)int類型的數(shù)字
//3.給數(shù)組元素中賦值
nums[0] = 1;
nums[1] = 2;
nums[2] = 3;
nums[3] = 4;
nums[4] = 5;
nums[5] = 6;
nums[6] = 7;
nums[7] = 8;
nums[8] = 9;
nums[9] = 10;
//計(jì)算所有元素的和
int sum = 0;
for (int i = 0;i< nums.length;i++){
sum +=nums[i];
}
System.out.println("總和為:"+sum);
}
}
三種初始化
1.靜態(tài)初始化
int[ ] a = {1,2,3};
Man[ ] men = {new Man(1,1),new Man(2,2);
2.動態(tài)初始化
int[ ] a = new int[2];
a[0] = 1;
a[1] = 2;
3.數(shù)組的默認(rèn)初始化
數(shù)組是引用類型,它的元素相當(dāng)于類的實(shí)例變量睡陪,因此數(shù)組一經(jīng)分配空間弦悉,其中的每個(gè)元素也被按照實(shí)例變量同樣的方式被隱式初始化厌丑。
public class ArrayDemo {
public static void main(String[] args) {
//靜態(tài)初始化
int[] a = {1,2,3,4,5,6,7,8};
System.out.println(a.length);
//動態(tài)初始化:包含默認(rèn)初始化
int[] b = new int[10];
b[0] = 10;
System.out.println(b[0]);
System.out.println(b[1]);
System.out.println(b[2]);
System.out.println(b[3]);
}
}
數(shù)組的四個(gè)基本特點(diǎn)
1.其長度是確定的诅需。數(shù)組一旦被創(chuàng)建秧廉,它的大小就是不可以改變的。
2.其元素類型必須是相同類型汁果,不允許出現(xiàn)混合類型涡拘。
3.數(shù)組中的元素可以是任何數(shù)據(jù)類型,包括基本類型和引用類型据德。
4.數(shù)組變量屬引用類型鳄乏,數(shù)組也可以看成是對象,數(shù)組中的每個(gè)元素相當(dāng)于該對象的成員變量棘利。數(shù)組本身就是對象橱野,Java中對象是在堆中的,因此數(shù)組無論保存原始類型還是其他對象類型赡译,數(shù)組對象本身是在堆中的仲吏。
數(shù)組邊界
下標(biāo)的合法區(qū)間:[0,length-1]不铆,如果越界就會報(bào)錯(cuò)蝌焚;
public static void main(String[] args) {
int[ ] a = new int[2];
System.out.println(a[2]);
}
ArrayIndexOutOfBoundsException:數(shù)組下標(biāo)越界異常裹唆!
小結(jié):
1.數(shù)組是相同數(shù)據(jù)類型(數(shù)據(jù)類型可以為任意類型)的有序集合。
2.數(shù)組也是對象只洒。數(shù)組元素相當(dāng)于對象的成員變量许帐。
3.數(shù)組長度是確定的,不可變的毕谴。如果越界成畦,則報(bào):ArrayIndexOutOfBounds
多維數(shù)組
1.多維數(shù)組可以看成是數(shù)組的數(shù)組,比如二維數(shù)組就是一個(gè)特殊的一維數(shù)組涝开,其每一個(gè)元素都是一個(gè)一維數(shù)組循帐。
2.二維數(shù)組
int a[ ][ ] = new int[2][5];
解析:以上二維數(shù)組a可以看成一個(gè)兩行五列的數(shù)組。
public class ArrayDemo {
public static void main(String[] args) {
//[4][2]
/*
1,2 array[0]
2,3 array[1]
3,4 array[2]
4,5 array[3]
*/
int[][] array = {{1,2},{3,4},{5,6},{7,8}};
System.out.println(array[0][0]);
System.out.println(array[0][1]);
System.out.println(array.length);
System.out.println(array[0].length);
System.out.println("=======================");
for (int i = 0; i < array.length; i++) {
for (int j = 0; j < array[i].length; j++) {
System.out.println(array[i][j]);
}
}
}
}