1.二维数组
1.二维数组的定义:
//数组中的每一个元素又是一个一维数组,这样的数组被称为二维数组
2.二维数组的声明及部分初始化
//未定义长度的声明
int[][] a;
int a1[][];
//定义长度的声明及部分初始化
int[][] b=new int[5][4];//5:二维数组中有5个一维数组,4:二维数组中一个一维数组有4个元素
指定长度后创建,系统会对一维数组进行初始化
System.out.println(b[1][0]);//0
int[][] c=new int[5][];//5:二维数组中有5个一维数组,但二维数组中一个一维数组中的元素个
数不定//会出现{null,null,null}
System.out.println(c[5][0]);//会报错
/*
Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 5
at day4.Practise.main(Practise.java:14)
*/
3.二维数组的赋值
//直接赋值:
int[][] d=new int[][]{{1,2,3},{4,5,6},{7,8,9}};
//分段赋值:
int [][]e=new int[3][];
e[0]=new int[4];
e[1]=new int[6];
e[2]=new int[4];
//二维数组的遍历
//嵌套循环
//外层循环:遍历二维数组中每个一维数组元素
for(int i=0;i<d.length;i++){
//内层循环:遍历一维数组元素中的每一个int类型元素
for(int j=0;j<d[i].length;j++){
System.out.println(e[i][j]);
}
}
2.打印杨辉三角形
代码:
//打印杨辉三角形
public static void main(String[] args) {
int [][]a=new int[10][20];
a[0][9]=1;
for(int i=1;i<a.length;i++){
for(int j=1;j<a[i].length-1;j++){
a[i][j]=a[i-1][j-1]+a[i-1][j+1];
}
}
a[a.length-1][0]=1;
for(int i=0;i<a.length;i++){
for(int j=0;j<a[i].length;j++){
if(a[i][j]==0){
System.out.print("\t");
}else{
System.out.print(a[i][j]+"\t");
}
}
System.out.println();
}
杨辉三角形: