二维数组

本文记录Java学习过程中遇到的二维数组~

多维数组可以简单地理解为在数组中嵌套数组,在程序中比较常见的就是二维数组。

二维数组的定义有很多方式,具体如下:

第一种方式:

int[][] arr = new int[3][4];

上面的代码相当于定义了一个3*4的二维数组,即二维数组的长度为3,二维数组中的每个元素又是一个长度为4的数组,如下图所示:

第二种方式:

int[][] arr = new int[3][];

第二种方式和第一种类似,只是数组中每个元素的长度不确定,如图所示:

第三种方式:

int[][] arr = {{1,2},{3,4,5,6},{7,8,9}};

上面的二维数组中定义了三个元素,这三个元素都是数组,分别为{1,2}、{3,4,5,6}、{7,8,9},如图所示:

对二维数组中元素的访问也是通过角标的方式,如需访问二维数组中第一个元素数组的第二个元素,具体代码如下:

arr[0][1];

示例代码(数组元素的访问):

class ArrayDemo {
	public static void main(String[] args){
	
		//定义二维数组的方式
		int[][] arr = new int[3][4];
	
		System.out.println( arr );
		System.out.println("二维数组的长度: " + arr.length);
		//获取二维数组的3个元素
		System.out.println( arr[0] );
		System.out.println( arr[1] );
		System.out.println( arr[2] );
		
		System.out.println("打印第一个一维数组的元素值");
		System.out.println( arr[0][0] );
		System.out.println( arr[0][1] );//访问的为二维数组中第1个一维数组的第2个元素
		System.out.println( arr[0][2] );
		System.out.println( arr[0][3] );
		
		System.out.println("打印第二个一维数组的元素值");
		System.out.println( arr[1][0] );
		System.out.println( arr[1][1] );
		System.out.println( arr[1][2] );
		System.out.println( arr[1][3] );
		
		System.out.println("打印第三个一维数组的元素值");
		System.out.println( arr[2][0] );
		System.out.println( arr[2][1] );
		System.out.println( arr[2][2] );
		System.out.println( arr[2][3] );
	}
}

示例代码(数组遍历求和):

class ArrayDemo {
	public static void main(String[] args){
		//一维数组的求累加和并遍历
		int[] arr = {10,20,30,40,50};
		int sum = 0; 
		for (int i=0; i<arr.length; i++) {
              //System.out.println(arr[i]);
			sum += arr[i];
		}
		System.out.println("sum= " + sum);
		System.out.println("---------------------");
		
                //二维数组的求累加和并遍历
		int[][] arr2 = { {1,2},{3,4,5},{6,7,8,9,10} };
		int sum2 = 0;
		for (int i=0; i<arr2.length; i++) {
			for (int j=0; j<arr2[i].length; j++) {
                 //System.out.println(arr2[i][j])
				sum2 += arr2[i][j];
			}
		}
		System.out.println("sum2= "+ sum2);
	}
}

标签: none