陣列的建立和初始化
阿新 • • 發佈:2018-11-12
1、為什麼在面向物件中介紹陣列呢?因為陣列也是一個物件
2、宣告陣列的時候
(1)推薦使用 char []a
;
陣列元素型別 [] 陣列變數名;
(2)在java中,生成陣列的時候,是動態分配記憶體的,宣告的時候不能指定陣列大小。
3、陣列的建立和初始化
如果已經new之後,沒有賦初值的話,整形陣列自動賦初值為0
4、例項1:
第一句話執行完之後,棧中的s指向堆中的一個物件,這個物件有兩個元素,每一個元素都是Student型別的引用,而不是Student型別的物件,這個引用當前沒有賦初值,所以預設初始化為null ,如果是類型別的陣列的話,動態初始化的時候,在陣列每一個位置上生成的是一個該類型別引用
第二句話是,在堆中生成一個新的學生物件出來,賦值給s[0],這個時候s[0]就有值了,指的是這個物件的邏輯地址。
5、陣列初始化
初始化的時候有兩種方式,分別為動態初始化和靜態初始化
6、為賦初值的時候,如果未賦初值的話,會對引用進行預設初始化,如果為賦初值就呼叫length方法的話,會報錯,因為空引用沒有指向的物件,自然就沒有改方法,所以,就會報錯。
(1)使用length的時候,如果沒有括號的話,也就是str.length;
這個是一個屬性,是陣列的屬性。如果有括號的話,也就是str.length();
是字串的方法。
7、陣列的說明
8、
本來是應該什麼也不輸出的,但是,如果在命令列中輸入 java 類名 字串 這樣的話
args[0]=I args[1]=am args[2]=a args[3]=Chinese
9、陣列大小
10、與c++中陣列的區別