Java之二維數組

數據類型[][] 數組名 = new 數據類型[m][];

m:表達這個二維數組有多少個一維數組列表沒有給出,可以動態給,這一次是一個變化的列數

數組更類似於C語言中的指針,二維數組就是聲明瞭一個指針數組,指針數組可以指向不同長度大小的內存地址


/*
	二維數組: 元素爲一維數組的一個數組
		格式1(動態):
			數據類型[][] 數組名 = new 數據類型[m][n];
			m個n元素的一維數
			注意:
				A:以下格式也可以表示二維數組
					a、數據類型 數組名[][] = new 數據類型[m][n];
					b、數據類型[] 數組名[] = new 數據類型[m][n]; 
		格式2(動態):
			數據類型[][] 數組名 = new 數據類型[m][];
			m:表達這個二維數組有多少個一維數組
			列表沒有給出,可以動態給,這一次是一個變化的列數
		格式3(靜態):
			數據類型[][] 變量名 = new 數據類型[][]{ {元素...},{元素...}};
			簡化:
				數據類型[][] 變量名 = {{元素...},{元素...}};
			舉例:
				int[][] arr = {{元素...},{元素...}};
			每個大括號裏面的一維數組裏面個數可以不一樣,需要區別同C語言中的數組
		
		數組更類似於C語言中的指針,二位數組就是聲明瞭一個指針數組,指針數組可以
		指向不同長度大小的內存地址
*/

class ErWeiShuZu{

	//格式1
	public static void main1(String[] args){
		
		int[][] arr =new int[2][3];
		
		System.out.println(arr);		//地址
		System.out.println(arr[0]);		//地址 
		System.out.println(arr[0]);		//地址
		
		System.out.println(arr[0][0]);	//數組
	}
	
	//格式2 
	public static void main2(String[] args){
		int[][] arr = new int[2][];
		
		System.out.println(arr);	//地址
		System.out.println(arr[0]);	//null
		System.out.println(arr[1]); //null
		System.out.println("----------------------");
		//動態的爲每一個一維數組分配空間
		arr[0] = new int[2];
		arr[1] = new int[3];
		System.out.println(arr);	//地址
		System.out.println(arr[0]);	//地址
		System.out.println(arr[1]); //地址
		System.out.println("----------------------");
		
		System.out.println(arr[0][0]);//0
		System.out.println(arr[1][0]);//0

	}
	//二維數組的遍歷
	public static void main(String[] args){
		
		int[][] arr = {{1,2,3},{4,5,6},{7,8,9,10,15}};
		
		for(int m =0;m < arr.length;m++)
		{
			for(int n = 0;n < arr[m].length;n++){
				System.out.print(arr[m][n] + "  ");
			}
			System.out.println();
						
		}
		
	}
	
}



發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章