2017年計算機二級考試java章節(jié)輔導(dǎo):二維數(shù)組的初始化

字號:


     5.2.2 二維數(shù)組的初始化
     同一維數(shù)組一樣,只聲明了數(shù)組,這時候其值為null,要想使用數(shù)組,還需要做初始化工作。數(shù)組初始化為聲明的數(shù)組指定數(shù)組元素個數(shù),為數(shù)組元素分配空間并賦值。數(shù)組初始化可以通過如下幾種方式完成。
     1. 用new關(guān)鍵字初始化數(shù)組
     用關(guān)鍵字new初始化數(shù)組時,除了為數(shù)組指定數(shù)組元素個數(shù)、分配存儲空間外,還會為數(shù)組元素按照數(shù)據(jù)類型的不同賦初值。具體如下:
     若為數(shù)值型,數(shù)組元素的默認值為0,;
     若為布爾型,數(shù)組元素的默認值為false;
     若為引用型,數(shù)組元素的默認值為空(null)。
     (1)先聲明數(shù)組,在初始化數(shù)組。這里實際上是兩條語句,具體格式如下:
     數(shù)據(jù)類型[][] 數(shù)組名; 或數(shù)據(jù)類型 數(shù)組名[][];
     數(shù)組名=new 數(shù)據(jù)類型[length1][length2];
     第一條語句是數(shù)組聲明語句,第二條語句則是初始化語句。要求這兩條語句中數(shù)組名、數(shù)據(jù)類型必須一致。Length1指定數(shù)組的行數(shù),length2指定數(shù)組的列數(shù)。
     數(shù)組的Length1和Length2可以是直接的int類型常數(shù),也可以是已經(jīng)賦值的int類型變量或int類型表達式。
     例如:
     int m=3,n=2;
     int[] a;
     a = new int[m][n];
     上面的語句聲明并初始化一個3行兩列的數(shù)組a,同時,根據(jù)默認值的約定,數(shù)組a中的所有元素初值均為0
     (2)在聲明數(shù)組的同時用new關(guān)鍵字初始化數(shù)組。實際上,這種方式是將第一種方式的兩條語句合并為一條語句。格式如下:
     數(shù)據(jù)類型[][] 數(shù)組名 =new 數(shù)據(jù)類型[length1][length2];
     或
     數(shù)據(jù)類型 數(shù)組名[][]=new 數(shù)據(jù)類型[length1][length2];
     例如:
     int m=3,n=2;
     int[][] a = new int[m][n];
     2.用一個已經(jīng)初始化的數(shù)組對數(shù)組初始化
     可以直接使用一個已經(jīng)初始化的數(shù)組對新聲明的數(shù)組進行初始化。
     格式如下:
     數(shù)據(jù)類型[][] 數(shù)組名=已初始化數(shù)組
     例如:
     Int[][]a=new int[10][10];
     Int[][]b=a;
     同一維數(shù)組一樣,這種初始化會使得數(shù)組a與b具有相同的存儲地址,a數(shù)組與b數(shù)組指向了同一個物理地址,任何對數(shù)組a的改變都會使數(shù)組b做相應(yīng)的修改,同樣,任何對數(shù)組b的修改也會使a數(shù)組的內(nèi)容發(fā)生變化。
     3.直接指定初值的方式
     用直接指定初值的方式初始化數(shù)組是指在聲明數(shù)組的同時將數(shù)組元素的初值依次寫入賦值號(=)后的一對大括號({})內(nèi),大括號中的每個元素也是一對大括號。如:
     int a [][] = {{1,2},{3,4},{5,6}};
     這樣就定義了一個3行2列的數(shù)組。