概念:
二维数组:多个一维数组组成
第x行第y列
定义格式1:
数据类型[][] 数组名 ;
数组名 = new 数据类型[行][列];
定义格式2:
数据类型[][] 数组名 = new 数据类型[行][列];
定义格式3:
数据类型[][] 数组名 = {
{值1,值2,值3...},
{值1,值2,值3...},
{值1,值2,值3...}
};
二维数组元素:数组名[行][列];
行下标从0开始
列下标从0开始
每行的元素个数:数组名[行].length
二维数组总行数:数组名.length
遍历二维数组:
先找到所有的行
for(int i=0;i<数组名.length;i++){
//找到每一行的所有元素(列)
for(int j=0;j<数组名[i].length;j++){
数组名[i][j];
}
}
测试:public class Test {
public static void main(String[] args) {
//定义个整型数组,2行,2列
int[][] lx = new int[2][3];
//具体元素:
//第一行的 第一个元素
lx[0][0] = 100;
//第一行的 第二个元素
lx[0][1] = 200;
//第二行的 第一个元素
lx[1][0] = 300;
//第二行的 第二个元素
lx[1][1] = 400;
//输出:第一行的两个
System.out.println(lx[0][0]);
System.out.println(lx[0][1]);
//第二行的两个
System.out.println(lx[1][0]);
System.out.println(lx[1][1]);
//求出某一行的 元素个数
System.out.println(lx[1].length);
//求组二维数组的总行数
System.out.println(lx.length);
System.out.println("====================");
//找到所有的行
for(int i=0;i<lx.length;i++) {
for(int j=0;j<lx[i].length;j++) {
System.out.print(lx[i][j]+"\t");
}
System.out.println();
}
System.out.println("============杨辉三角===========");
/*
* j
* 0 1 2 3 4 5 6 7
* i0 1
* 1 1 1
* 2 1 2 1
* 3 1 3 3 1
* 4 1 4 6 4 1
* 5 1 5 10 10 5 1
* 6 1 6 15 20 15 6 1
* 7 1 7 21 35 35 21 7 1
* ....
*
* 1、当j等于0的时候 元素为1
* 2、当i等于j的时候 元素为1
* 3、[i][j] = [i-1][j] + [i-1][j-1]
*
*/
//定义一个10*10的二维数组
int[][] a = new int[10][10];
//遍历数组,找到每一个元素
//遍历行
for(int i=0;i<a.length;i++) {
for(int j=0;j<=i;j++) {
if(j==0 || i==j) {
a[i][j] = 1;
}else {
a[i][j] = a[i-1][j] + a[i-1][j-1];
}
}
}
//遍历数组
for (int i = 0; i < a.length; i++) {
for (int j = 0; j <=i; j++) {
System.out.print(a[i][j]+"\t");
}
System.out.println();
}
System.out.println("=============定义方式3==============");
int[][] gl = {
{1,2,3,4,5,6},
{2,3,4,6,},
{9,4},
{4,6,19},
{99,77,66,55},
{9876,345,234,1}
};
for (int i = 0; i < gl.length; i++) {
for(int j=0;j<gl[i].length;j++) {
System.out.print(gl[i][j]+"\t");
}
System.out.println();
}
}
}