復習一下Java數組的知識
Java的數組是靜態(tài)的,即當數組被初始化之后,該數組的長度是不可變的,只能改變數組元素的值。
Java中的數組必須初始化后才可以使用 ,更準確的說應該是數組對象必須初始化,而數組變量不需要初始化,數組變量只需要指向一個有效的數組對象即可正常使用。
-
數組的初始化方式分為:
- 靜態(tài)初始化:初始化時由開發(fā)人員顯示的指定每個數組元素的初始值,由系統(tǒng)決定數組長度;
- 動態(tài)初始化:初始化時開發(fā)人員只指定數組長度,由系統(tǒng)為數組元素分配初始值。
基本類型數組的初始化如下:
public static void main(String args[]){
//靜態(tài)初始化
String[] names = {"孫悟空","豬八戒","魯智深"};
//動態(tài)初始化
String[] values = new String[5];
values[0] = "孫悟空"
values[1] = "豬八戒"
values[2] = "魯智深";
//數組變量
String[] arr;
arr = names;
System.out.println(arr.length);
}
- 引用類型數組的元素依然是引用類型,因此數組里面存儲的還是引用,它指向另外一塊內存,這塊內存里存儲了該引用變量所引用的對象。對象引用如下:
public class Person{
public int age;
public String name;
public void info(){
System.out.println("age"+ age + "name" + name);
}
}
public static void main(String args[]){
//數組變量
Person[] p;
//動態(tài)初始化
p = new Person[2];
System.out.println(p.length);
Person zhang = new Person();
zhang.age = 18;
zhang.name = "zhangsan";
Person li = new Person();
li.age = 20;
li.name = "lisi";
p[0] = zhang;
p[1] = li;
li.info();
p[1].info();
}
- 多維數組
沒有多維數組,所謂多維數組其實只是數組元素依然是數組的1維數組。
多維數組代碼如下:
public static void main(String args[]){
int[][] a;
a = new int[4][];
for(int i = 0; i< a.length;i++){
System.out.println(a[i]);
}
a[0] = new int[2];
a[0][1] = 6;
for(int i = 0; i< a[0].length;i++){
System.out.println(a[0][i]);
}
}