天天看點

Java學習筆記(十):二維數組什麼是二維數組?二維數組的使用:二維數組使用細節和注意事項

目錄

什麼是二維數組?

快速入門:

二維數組的使用:

使用方式 1: 動态初始化

文法:  

案例示範:

使用方式 2: 動态初始化

文法:

使用方式 3: 動态初始化-列數不确定

案例示範

需求:使用動态初始化建立下面二維數組,并輸出。

 代碼如下:

使用方式 4: 靜态初始化

文法:

分析代碼:

 案例示範:

二維數組使用細節和注意事項

什麼是二維數組?

1.  從定義形式上看

int[][]
           

2.  一維數組的每個元素是一維數組, 就構成二維數組

3.二維數組的每個元素是一維數組, 是以如果需要得到每個一維數組的值,還需要再次周遊

快速入門:

/*
		請用二維數組輸出如下圖形
			0 0 0 0 0 0
			0 0 1 0 0 0	
			0 2 0 3 0 0
			0 0 0 0 0 0
		 */
public class TwoDimensionalArray01 { 

	public static void main(String[] args) {
		
		//什麼是二維數組: 
		//1. 從定義形式上看 int[][]
		//2. 可以這樣了解,原來的一維數組的每個元素是一維數組, 就構成二維數組
		int[][] arr = { {0, 0, 0, 0, 0, 0},
						{0, 0, 1, 0, 0, 0}, 
						{0,2,  0, 3, 0, 0}, 
						{0, 0, 0, 0, 0, 0} };

		
		System.out.println("二維數組的元素個數=" + arr.length);
        //關于二維數組的關鍵概念
		//(1) 二維數組的每個元素是一維數組, 是以如果需要得到每個一維數組的值
		//    還需要再次周遊
	
    	//(2) 如果我們要通路第 (i+1)個一維數組的第j+1個值 arr[i][j];
		//    舉例 通路 3, =》 他是第3個一維數組的第4個值 arr[2][3]
		System.out.println("第3個一維數組的第4個值=" + arr[2][3]); //3


		//輸出二維圖形
		for(int i = 0; i < arr.length; i++) {//周遊二維數組的每個元素
			
			for(int j = 0; j < arr[i].length; j++) {
            //1. arr[i] 表示 二維數組的第i+1個元素 比如arr[0]:二維數組的第一個元素
		
        	//2. arr[i].length 得到 對應的 每個一維數組的長度 
				System.out.print(arr[i][j] + " "); //輸出了一維數組
			}
			System.out.println();//換行
		}
	}
}
           

二維數組的使用:

使用方式 1: 動态初始化

文法:  

類型[][]  數組名=new 類型[大小][大小]

比如:

int a[][]=new int[2][3]
           

這裡面的2表示:有兩個一維數組。3表示:每個一維數組裡面有3個元素

案例示範:

public class TwoDimensionalArray02 {
public static void main(String[] args) {
    
    int arr[][]; //聲明二維數組
    arr = new int[2][3];//再開空間
    arr[1][1] = 8;

        for(int i = 0; i < arr.length; i++) {//周遊 arr 數組
            for(int j = 0; j < arr[i].length; j++) {//對每個一維數組周遊 
                System.out.print(arr[i][j] +" ");
                }
            System.out.println();//換行
            }
}
}
           

使用方式 2: 動态初始化

文法:

先聲明:類型 數組名[][];        

再定義(開辟空間) 數組名 = new 類型[大小][大小] 指派

(有預設值,比如 int類型的就是 0)

使用方式 3: 動态初始化-列數不确定

案例示範

需求:使用動态初始化建立下面二維數組,并輸出。

Java學習筆記(十):二維數組什麼是二維數組?二維數組的使用:二維數組使用細節和注意事項

 代碼如下:

public class TwoDimensionalArray03 { 

	public static void main(String[] args) {
		
		//建立 二維數組,一個有3個一維數組,但是每個一維數組還沒有開資料空間
		int[][] arr = new int[3][]; 
		
		for(int i = 0; i < arr.length; i++) {//周遊arr每個一維數組
			//給每個一維數組開空間 new
			//如果沒有給一維數組 new ,那麼 arr[i]就是null
			arr[i] = new int[i + 1]; 

			//周遊一維數組,并給一維數組的每個元素指派
			for(int j = 0;  j < arr[i].length; j++) {
				arr[i][j] = i + 1;//指派
			}

		}

		
		for(int i = 0; i < arr.length; i++) {//周遊arr輸出//周遊arr輸出
			
			for(int j = 0; j < arr[i].length; j++) {
				System.out.print(arr[i][j] + " ");//輸出arr的每個一維數組
			}
			System.out.println();//換行
		}
		

	}
}
           

使用方式 4: 靜态初始化

文法:

定義 類型 數組名[][]    = {{值 1,值 2..},{值 1,值 2..},{值 1,值 2..}}

比如:

int[][] arr = {{1,1,1}, {2,2}, {3}};
           

分析代碼:

1.  定義了一個二維數組 arr

2. arr 有三個元素(每個元素都是一維數組)

3. 第一個一維數組有 3 個元素 , 第二個一維數組有 2 個元素, 第三個一維數組有 1 個元素

 案例示範:

/*
int arr[][]={{4,6},{1,4,5,7},{-2}}; 周遊該二維數組,并得到和
*/
public class TwoDimensionalArray05 {

    public static void main(String[] args) {


    int arr[][]= {{4,6},{1,4,5,7},{-2}};
    int sum = 0;
        for(int i = 0; i < arr.length; i++) {//周遊每個一維數組

            for(int j = 0; j < arr[i].length; j++) { //周遊二維數組

            sum += arr[i][j];//将各個值累計到 int sum
            }
        }
System.out.println(sum);
}
}
           

二維數組使用細節和注意事項

(1)    一維數組的聲明方式有: 

int[] x    或者 int x[]

           

(2)    二維數組的聲明方式有:

int[][] y 或者    int[] y[]    或者 int    y[][]
           

(3)    二維數組實際上是由多個一維數組組成的,它的各個一維數組的長度可以相同,也可以不相同。比如: map[][]  是 一個二維數組

int map [][] = {{1,2},{3,4,5}}
           

由 map[0] 是一個含有兩個元素的一維數組 ,map[1] 是一個含有三個元素的一維數組構成,我們也稱為列數不等 的二維數組