1. 程式人生 > 其它 >陣列-二維陣列

陣列-二維陣列

一、如何理解二維陣列

  • 陣列屬於引用資料型別
  • 陣列的元素也可以是引用資料型別
  • 一個一維陣列A的元素如果還是一個一維陣列型別的,則此陣列A稱為二維陣列

二、二維陣列的宣告與初始化

正確的方式:

//二維陣列的宣告和初始化
int[] arr1 = new int[]{1,2,3};//一維
//1.1靜態初始化
int[][] arr2 = new int[][]{{1,2},{3,4},{5,6},{7,8}};//二維
//1.2.1動態初始化方式一
String[][] arr3 = new String[2][2];
//1.2.2動態初始化方式二
String[][] arr4 = new String[2][];

三、如何呼叫二維陣列元素

//2.如何呼叫陣列的指定位置的元素
System.out.println(arr2[0][1]);//2
//null-未被賦值,String型別的預設值為null
System.out.println(arr3[0][1]);

arr4[1] = new String[2];
//因為arr4,列還未被賦值,單獨列印會空指標異常
System.out.println(arr4[1][0]);

四、二維陣列的屬性-length

//3.如何獲取陣列的長度
System.out.println(arr2.length);
System.out.println(arr2[0].length);

五、遍歷二維陣列元素

//4.如何遍歷陣列
for(int i = 0;i < arr2.length;i++){
    for(int j = 0;j < arr2[i].length;j++){
        System.out.print(arr2[i][j] + " ");
    }
    System.out.println();
}

六、二維陣列元素的預設初始化值

//5.陣列元素的預設初始化值
/*
規定:二維陣列分為外層陣列的元素,內層陣列的元素
int[][] arr = new int[2][6];
外層元素:arr[0]、arr[1]、arr[2]等
內層元素:arr[0][1]、arr[0][2]等
*/
//初始化方式一:
//陣列元素是整型:外層是一個地址值,內層是0
int[][] array = new int[2][2];
System.out.println(array[0]);
System.out.println(array[0][0]);
System.out.println();
//陣列元素是布林型:外層是一個地址值,內層是false
boolean[][] boo = new boolean[2][2];
System.out.println(boo[0]);
System.out.println(boo[0][0]);
System.out.println();
//陣列元素是浮點型:外層是一個地址值,內層是0.0
float[][] flo = new float[2][2];
System.out.println(flo[0]);
System.out.println(flo[0][0]);
System.out.println();
//陣列元素是char型:
char[][] c = new char[2][2];
System.out.println(c[0]);
System.out.println(c[0][0]);
if(c[0][0] == 0){
    System.out.println("√");
}
System.out.println();
//陣列元素是引用資料型別:外層是一個地址值,內層是null
String[][] str = new String[2][2];
System.out.println(str[0]);
System.out.println(str[0][0]);
//初始化方式二:
//外層是null,內層不能呼叫,否則報異常錯誤
double[][] dou = new double[2][];
System.out.println(dou[0]);
//空指標異常,因為dou[0]為null,再去找它下面元素,是找不到的
System.out.println(dou[0][0]);

七、二維陣列的記憶體結構