二维数组

扫码查看

1、声明格式

  1 数组的元素类型[][] 数组名;//推荐写法
  2
  3  4 数组的元素类型 数组名[][];
  5
  6  7 数组的元素类型[] 数组名[];
  1 class Test04Review4{
  2 	public static void main(String[] args){
  3 		//标准声明二维数组的方式
  4 		int[][] arr1 = new int[3][];
  5
  6 		//其他的方式
  7 		int arr2[][] = new int[3][];
  8
  9 		int[] arr3[] = new int[3][];
 10
 11 		System.out.println(arr1);//[[I@15db9742
 12 		System.out.println(arr2);//[[I@6d06d69c
 13 		System.out.println(arr3);//[[I@7852e922
 14
 15 		//面试题
 16 		int[] x, y[];
 17 		//答案:x是一维数组,y是二维数组
 18
 19         //x = new int[2][];//错误,因为x是一维数组
 20 		//y = new int[3];//错误的,一维y是二维数组
 21 	}
 22 }

2、初始化

(1)静态初始化

  1 数组的元素类型[][] 数组名 = {{第一行的元素} , {第二行的元素} 。。。};
  2
  3 //分开两行代码
  4 数组的元素类型[][] 数组名;
  5 数组名 = new 数组的元素类型[][]{{第一行的元素} , {第二行的元素} 。。。};

(2)动态初始化:每一行的列数可能不同

  1 数组的元素类型[][] 数组名 = new 数组的元素类型[总行数][];
  2
  3 //单独指定每一行的列数
  4 数组名[行下标] = new 元素的类型[列数];//每一行是一个一维数组

(3)动态初始化:每一行的列数相同

  1 数组的元素类型[][] 数组名 = new 数组的元素类型[总行数][列数];

3、遍历

二维数组的长度,二维数组的总行数:数组名.length

二维数组的某一行:数组名[行下标]

二维数组的某一行的列数,某一行的长度:数组名[行下标].length

行下标的范围:[0,数组名.length-1]

二维数组的某个元素:数组名[行下标][列下标]

列下标的范围:[0,数组名[行下标].length-1]

  1 for(int i=0; i<数组名.length; i++){
  2 	for(int j=0; j<数组名[i].length; j++){
  3 		//元素:数组名[i][j]
  4 	}
  5 }
02-09 20:31
查看更多