java數組是靜態的,即數組被初始化後,其所佔內存空間、數組長度是不可變的。初始化數組有靜態初始化和動態初始化兩種:javascript
public class ArrayTest { //如下是數組的兩種靜態初始化 String[] books = new String[] { "java", "javascript", "php" }; String[] names = { "html", "css", "jquery" "boostrap" }; //如下是動態初始化 String[] strArr = new String[5]; System.out.println("各數組長度分別爲:"+books.length+","+names.length+","+str.length); }
數組自己是放在堆內存中的,只是由放在棧區的變量books,names,strArr做爲數組對象來引用。並且數組自己的內存是固定的,一旦被初始化後就不能更改。而後能夠經過數組變量引用的數組對象的不一樣來達到數組長度改變的目的。php
什麼是數組的初始化呢?看看下面的代碼片斷也許就知道了!css
int[] names = {1,2,3,4}; int[] prices; prices = names; System.out.println(prices.length); System.out.println(prices[2]);
這就說明,所謂數組初始化,也就確立數組變量(指上例的prices)所引用的數組對象(names所指向的內存空間)。html
只有數組變量指向有效的數組對象後,才能夠被訪問到其屬性和方法。以下代碼片斷:java
int[] iArr = null System.out.println(iArr);//只要不訪問iArr的屬性和方法,程序能夠運行。 iArr = new int[5]; System.out.println(iArr.length);//只有被初始化後才能夠被訪問屬性或方法,否則會報NullPointException
數組元素能夠基本類型和引用型(類,數組,字符串等)。jquery
多維數組能夠當作是多個引用類一維數組和基本類型一維數組組合而成。數組
動態語言javascript與java這種靜態語言不一樣的是,js的數組長度能夠改變,如:spa
<script> var arr = []; alert(arr.length);//彈出0 arr[2] = 2; arr[3] = 3; alert(arr.length);//彈出4 </script>
對於javascript這種弱類型語言,多維數組的使用看起來也相對簡潔些。code