Java二維數組的宣告與初始化
1.二維數組可以看成以數組為元素的數組;
2.Java中二維數組的宣告和初始化應按照從高維到低維的順序進行.
實例:
靜態初始化:
Array2.java:
程式碼
public class Array2 { public static void main(String args[]) { int a[][] = {{1,2},{3,4,5,6},{7,8,9}} ; for( int i=0 ; i <a.length ; i++) { for(int j=0 ; j<a[i].length ; j++) { System.out.println("a[" + i + "][" + j + "]=" + a[i][j]) ; } } } } }
動態初始化:
程式碼
public class Array2D { public static void main(String args[]) { int i , j ; String s[][] ; s = new String[3][] ; s[0] = new String[2] ; s[ 1] = new String[3] ; s[2] = new String[2] ; for(i=0 ; i<s.length ; i++) { for(j=0 ; j <s[i].length ; j++) { s[i][j] = new String("我的位置是:" + i + "," + j) ; } } for( i=0 ; i<s.length ; i++) { for(j=0 ; j<s[i].length ; j++) { System.out.println(s[i][j]) ; } } } } }
關於Java中的二維數組操作[實例]:
public class Lesson{ public static void main(String [] args){ //二維陣列的宣告方式: //資料型別[][] 陣列名稱= new 資料型別[長度][長度] ; //資料型別[ ][] 陣列名稱= {{123},{456}} ; /* int [][] arr = {{123},{456}}; //定義了兩行三列的二維數組並賦值for(int x = 0; x<arr.length; x++){ //定位行for(int y = 0; y<arr[x].length; y++){ //定位每行的元素個數System.out.print(arr[x][y]); } System.out.println("/n"); } */ int [][] num = new int [3][3]; //定義了三行三列的二維數組num[0][0] = 1; //給第一行第一個元素賦值num[0][1] = 2 ; //給第一行第二個元素賦值num[0][2] = 3; //給第一行第三個元素賦值num[1][0] = 4; //給第二行第一個元素賦值num[1][1] = 5; //給第二行第二個元素賦值num[1][2] = 6; //給第二行第三個元素賦值num[2][0] = 7; //給第三行第一個元素賦值num[2][1] = 8; //給第三行第二個元素賦值num[2][2] = 9; //給第三行第三個元素賦值for(int x = 0; x<num.length; x++){ //定位行for(int y = 0; y<num[x].length; y++){ //定位每行的元素個數System.out.print(num[x][y]); } System.out.println("/n") ; } } } //陣列值arr[x][y]表示指定的是第x行第y列的值。 //使用二維數組物件時,注意length所代表的長度, //數組名後直接加上length(如arr.length),所指的是有幾行(Row); //指定索引後加上length(如arr[0].length),指的是該行所擁有的元素,也就是列(Column)數目。
再來看一個例子:兩個二維數組,將它們整合為一個新的二維數組,元素為兩數組對應元素的和。輸入兩數組: {{1,5},{2,3},{6,5}}, {{4,2},{2,6},{5,7}}
輸出列印: {{5,7},{4,9},{11,12}}
程式碼: class arraysCtrl{ static void arraysAdd(int[][] a,int[][] b) { StringBuffer sbResult = new StringBuffer("{"); int[][] result = new int[a.length][ b.length]; for(int i=0;i<a.length;++i) { sbResult.append("{"); for(int j=0;j<a[i].length;++j) { result[i][j] = a[i][j]+b[i] [j]; sbResult.append(result[i][j]); if(j == a[i].length-1) { if(i == a.length-1) { sbResult.append("}"); }else{ sbResult.append("},"); } break; } sbResult.append(","); } if(i == a.length-1) { sbResult. append("}"); break; } } System.out.println(sbResult); } public static void main(String[] args) { int[][] aTst1 = {{1,5},{2,3},{6,5}}, aTst2 = {{4,2},{2,6}, {5,7}}; arraysAdd(aTst1,aTst2); } }