F、数组中的数组 ——二维数组 格式1:int[ ] [ ] arr = new int[3][2]; l 定义了名称为arr的二维数组 l 二维数组中有3个一维数组 l 每一个以为数组中有两个元素 l 一维数组的名称分别为arr[0],arr[1], arr[2] l 给第一个一维数组中角标为1的位赋值78,写法是:arr[0][1]=78; 格式2:int[ ] [ ] arr = new int[3][ ]; l 二维数组中都是3个一维数组 l 每个一维数组都是默认初始化值null l 可以对这三个一维数组分别进行初始化 l int[ ] [] arr = new int[3][ ]; arr[0]=new int[3]; arr[1]=new int[1]; arr[2]=new int[2]; System.out.println(arr.length);//打印的是二维数组的长度 System.out.println(arr.length);//打印的是二维数组中第一个一维数组的长度 格式3:int[][]arr={{3,5,1,7},{2,3,5,7},{6,1,8,2}} 理解应用,如果上面数组表示一个公司三个销售团队每个季度的销售额度,那么求该公司一年的总销售额度? 分析:把所有的数都要加一边,所以要遍历,先遍历二维数组,再遍历二维数组中一维数组的每一个元素,所以有: class PlanarArray { publicstatic void main(String[] args) { int[][]arr={{3,5,1,7},{2,3,5,7},{6,1,8,2}}; intsum=0; for(int x=0;x<arr.length ;x++) { for(int y=0;y<arr[x].length;y++) { sum=sum+arr[x][y]; } } System.out.println("sum="+sum); } } 补充知识: 一维数组的表现形式: int[] x; int x[];————两种 int[][]y; int[] y[]; int y[][];————三种 练习:给出数组int[]x,y[];请问下面那一个是正确的? 分析: int[] x,y[];——这个表达式等价于: int[] x;int [] y[]; a. x[0]=y; error b. y[0]=x; yes c. y[0][0]=x; error d. x[0][0]=y; error e. y[0][0]=x[0]; yes f. x=y error Summary: []定义在类型当中[]是跟着类型走的,在类型当中[]对他们都有效,而[]跟着字母走那么只对单个字母有效!
|