什麼是數組
數組,是相同類型的數據按順序組成的一種引用數據類型。
一維數組
數組聲明
語法格式:
數據類型[] 數組名;
數據類型 數組名[];
例子:
int[] myIntArr;
int myIntArr[];
char[] chArr;
String[] strArr;
數組創建
語法格式一:先聲明後創建。
數據類型[] 數組名;
數組名 = new 數據類型[數組長度];
例子:
int[] arr;
arr = new int[10]; //創建一個長度爲10的整型數組
語法格式二:聲明的同時創建數組。
數據類型[] 數組名 = new 數據類型[數組長度];
例子:
int[] arr = new int[10]; //創建一個長度爲10的整型數組
注意:無論採用哪種格式,數組長度必須指定。
數組在內存中的存儲
數組會被分配連續的內存空間,如下圖,我們創建一個長度爲5的int數組,會在內存中開闢一塊連續空間,並且索引值從0開始,即a[0]指向數組的第一個元素。
數組的初始化
聲明數組的同時給數組賦值,叫做數組的初始化。
例子:
int[] arr = {1,2,3,4,5,6,7,8,9,10};
數組的長度就是初始化時所給的數組元素的個數。
數組元素的引用
語法格式:
數組名[下標];
注意:下標從0開始。
例子:
int[] arr = {1,2,3,4,5,6,7,8,9,10};
我們可以通過屬性length獲取數組的長度,比如 arr.length 。如下圖,我們可以看到數組每一個元素的引用。
public class ArrayDemo {
public static void main(String[] args) {
//聲明一個整型數組
int[] intArr;
//聲明一個字符串類型的數組
String strArr[];
//創建數組
intArr = new int[5];
strArr = new String[10];
//聲明數組的同時進行創建
float[] floatArr = new float[4];
//初始化數組
char[] ch = {'a','b','c','d'};
System.out.println("ch的數組長度爲:"+ ch.length);
System.out.println("intArr數組的第2個元素爲:"+ intArr[1]);
System.out.println("strArr數組的第5個元素爲:"+ strArr[4]);
System.out.println("floatArr數組的最後一個元素爲:"+ floatArr[floatArr.length-1]);
//循環爲整型數組賦值
for (int i=0;i<5;i++) {
intArr[i] = i+1;
}
//循環輸出整型數組中的元素
for (int i=0;i<intArr.length;i++) {
System.out.print(intArr[i]+ " ");
}
}
}
/**
//程序運行後輸出如下:
ch的數組長度爲:4
intArr數組的第2個元素爲:0
strArr數組的第5個元素爲:null
floatArr數組的最後一個元素爲:0.0
1 2 3 4 5
**/
增強型for循環
增強型for循環,又被稱爲foreach循環。
例子:
public class ForDemo {
public static void main(String[] args) {
int[] arr = {1,2,3,4,5};
for (int n : arr) {
System.out.println(n);
}
}
}
注意的問題:
1、數組是引用數據類型;
2、創建數組時,會開闢連續的內存空間;
3、數組長度使用length屬性獲取;
4、數組元素的下標從0開始;
5、數組下標越界問題。