第八章 多维数组
8.2 二维数组的基础知识
二维数组中的元素通过行和列的下标来访问。
8.2.1 声明二维数组变量并创建二维数组
下面是二维数组的语法:
数据类型[][] 数组名;
int[][] matrix;
8.2.2 获取二维数组的长度
二维数组实际上是一个数组,它的每个元素都是一个一维数组。数组x的长度是数组中元素的个数,可以用x.length获取该值。元素x[0],x[1],x[2],x[3],...,,x[x.length-1]也是数组。可以使用x[0].length,x[1].length,...,x[x.length-1].length获取它们的长度。
8.2.3 锯齿数组
1.二维数组中的每一行本身就是一个数组,因此,各行的长度就可以不同。这样的数组称为锯齿数组(ragged array)。
2.使用语法new int[5][]创建数组时,必须指定第一个下标。语法new int[][]是错误的。
int[][] triangleArray=new int[5][];
8.3 处理二维数组
嵌套的for循环常用语处理二维数组。
8.4 将二维数组传递给方法
将一个二维数组传递给方法的时候,数组的引用传递给了方法。
1 package com.chapter8; 2 3 import java.util.Scanner; 4 5 public class PassTwoDimensionalArray { 6 7 public static void main(String[] args) { 8 int[][] m=getArray(); 9 System.out.println(sum(m)); 10 } 11 12 public static int[][] getArray(){ 13 Scanner input=new Scanner(System.in); 14 int[][] m=new int[3][4]; 15 System.out.println("Enter "+m.length+" rows and"+m[0].length+" column"); 16 for(int i=0;i<m.length;i++){ 17 for(int j=0;j<m[i].length;j++){ 18 m[i][j]=input.nextInt(); 19 } 20 } 21 return m; 22 } 23 24 public static int sum(int[][] m){ 25 int total=0; 26 for(int row=0;row<m.length;row++){ 27 for(int column=0;column<m[row].length;column++){ 28 total+=m[row][column]; 29 } 30 } 31 return total; 32 } 33 34 }