二维数组简单使用

二维数组的使用

java 语言里提供了支持多维数组的语法。

如果说可以把一维数组当成几何中的线性图形,那么二维数组就相当于是一个表格,像右图Excel中的表格一样。

对于二维数组的理解,我们可以看成是一维数组array1又作为另一个一维数组array2的元素而存在。其实,从数组底层的运行机制来看,其实没有多维数组。

声明

数据类型[][] 变量名;

初始化

格式1(动态初始化):

语法

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

解释

 定义了名称为arr的二维数组

 二维数组中有3个一维数组

 每一个一维数组中有2个元素

 一维数组的名称分别为arr[0], arr[1], arr[2]

 给第一个一维数组1脚标位赋值为78写法是:arr[0][1] = 78;

格式2(动态初始化):

语法

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

解释

二维数组中有3个一维数组。

 每个一维数组都是默认初始化值null (注意:区别于格式1

 可以对这个三个一维数组分别进行初始化

  arr[0] = new int[3];    arr[1] = new int[1];   arr[2] = new int[2];

注:int[][]arr = new int[][3];  //非法

格式3(静态初始化):

语法

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

解释

 定义一个名称为arr的二维数组,二维数组中有三个一维数组

 每一个一维数组中具体元素也都已初始化

 第一个一维数组 arr[0] = {3,8,2};

 第二个一维数组 arr[1] = {2,7};

 第三个一维数组 arr[2] = {9,0,1,6};

 第三个一维数组的长度表示方式:arr[2].length;

注意

注意特殊写法情况:int[] x,y[]; x是一维数组,y是二维数组。

Java中多维数组不必都是规则矩阵形式

二维数组的第一个[]必须有数组长度。

使用

一般和嵌套for一起使用

int[][] a=new int[3][2];

for (int i = 0; i < a.length; i++) {

for (int j = 0; j < a[i].length; j++) {

System.out.println(a[i][j]);

}

}

杨辉三角

//设置杨辉三角的行数

int count = 10;

//定义一个二维数组

int[][] yangHui = new int[count][];

//给二维数组赋值

for(int i = 0;i < yangHui.length;i++){

//动态初始化二维数组

yangHui[i] = new int[i + 1];

//给开头和结尾赋1

yangHui[i][0] = yangHui[i][i] = 1;

/*

* 给非开头和结尾赋值,因为开头和结尾的值已经为1,所以开头和结尾的值都不用改。

* j = 1 :是表示从每个数组的第二个数字开始,因为第一个数字的值已定

* j < yangHui[i].length :是表示每个数组的最后一个数字不变。因为最后一个数字也是固定不变的

*/

for(int j = 1;j < yangHui[i].length - 1;j++){

yangHui[i][j] = yangHui[i -1][j] + yangHui[i - 1][j -1];

}

}

//便利二维数组

for (int i = 0; i < yangHui.length; i++) {

for (int j = 0; j < yangHui[i].length; j++) {

System.out.print(yangHui[i][j]+"\t");

}

System.out.println("");

}

猜你喜欢

转载自www.cnblogs.com/houwenbo/p/11536601.html
今日推荐