二维数组使用细节和注意事项
一维数组的声明方式有: int[] x 或者 int x []
二维数组的声明方法有:int[ ] [ ] y 或者 int y [ ] [ ] 或者int [ ] y [ ]
二维数组实际上是由多个一维数组组成的,它的各个一维数组的长度可以相同,也可以不同,eg :map [ ] [ ]是一个二维数组
int map[ ] [ ] ={{1,2},{3,4,5}}
map[0]是一个含有两个元素的一维数组,map[1]是一个含有三个元素的一维数组构成,我们也称为列数不等的二维数组;
杨辉三角案例:使用二维数组打印一个10行的杨辉三角
1 public class YangHui{
2 public static void main(String[] args){
3 /*
4 杨辉三角案列:使用二维数组打印一个10行杨辉三角;
5 1
6 1 1
7 1 2 1
8 1 3 3 1
9 1 4 6 4 1
10 1 5 10 10 5 1
11 分析:
12 1. 第一行有1个元素,第N行有N个元素
13 2.每一行的第一个元素和最后一个元素都是1
14 3.从第三行开始,对于非第一个元素和最后一个元素的元素值 arr[i][j]
15 arr[i][j] = arr[i-1][j]+arr[i-1][j-1];
16 */
17 //定义一个里面有10个数组的二维数组;
18 int [][] yangHui= new int [10][];//只开辟了二维数组中一维数组有10个,而一维数组中的元素还没有开辟
19 for (int i = 0;i<yangHui.length ; i++) {//循环遍历二维数组中一维数组的个数;
20 //由于还没有开辟一维数组的空间,需要给一维数组开辟空间
21 yangHui[i] = new int [i+1];
22 //遍历给每个一维数组赋值,也就是对一维数组中的元素进行遍历
23 for (int j =0;j<yangHui[i].length ;j++ ) {
24 //每一行的第一个元素和最后一个元素都是1
25 if (j==0 || j == yangHui[i].length-1) {
26 yangHui[i][j]=1;
27 }else{//中间的元素
28 yangHui[i][j] = yangHui[i-1][j]+yangHui[i-1][j-1];
29 }
30 }
31 }
32 //输出杨辉三角
33 for (int i = 0; i <yangHui.length ;i++ ) {
34 for (int j = 0; j<yangHui[i].length ;j++ ) {
35 System.out.print(yangHui[i][j]+" ");
36 }
37 System.out.println();
38 }
39
40 }
41 }
想多了都是问题,做多了才是答案

浙公网安备 33010602011771号