1,java二维数组的创建
动态创建
int[][] arr = new int[3][3];
int[][] arr1 = new int[3][];
静态创建
int[][] arr2 = {{1,3,1},{1321,23},{1}};
int[][] arr3 = new int[][]{{2},{23,32},{123,321,231}};
2,二维数组的概念
- 二维数组就是一个数组的元素也是数组。就是一个外层数组包含了多个内层数组。
比如arr[i][j]
:i
代表了二维数组的长度,即这个二维数组包含了几个内层数组。j
代表了二维数组的每个内层数组的长度。 - 画个内存图的话就是这样的(地址值是随便给的)
![在这里插入图片描述](https://img-blog.csdnimg.cn/20201208204456962.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzM5MzI2NTc0,size_16,color_FFFFFF,t_70#pic_center)
二维数组遍历
int[][] arr = new int[3][3];
for (int i = 0; i < arr.length; i++) {
System.out.println(arr[i]);
}
![在这里插入图片描述](https://img-blog.csdnimg.cn/20201208205318234.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzM5MzI2NTc0,size_16,color_FFFFFF,t_70#pic_center)
public static void main(String[] args) {
int[][] arr = new int[3][3];
for (int i = 0; i < arr.length; i++) {
int[] innerArr=arr[i];
for (int j = 0; j < innerArr.length; j++) {
System.out.print(innerArr[j]+" ");
}
}
}
public static void main(String[] args) {
int[][] arr = new int[3][3];
for (int[] innerArr : arr){
for(int a:innerArr){
System.out.print(a+" ");
}
}
}
- 输出结果都是一排0,没有赋值的int类型默认值为0
杨辉三角
- 1.忽略空格的话,可以看出第一列都为1,当行数等于列数的时候也为1
- 2.除了为1的数,每个数都等于它的上一行的同列的数加上一行的前一列的数之和。
public class YangHuiSanJiao {
public static void main(String[] args) {
yangHui(10);
}
public static void yangHui(int n){
int[][] arr=new int[n][];
for (int i = 0; i < arr.length; i++) {
arr[i]=new int[i+1];
for (int j = 0; j < arr[i].length; j++) {
if (i == j || j == 0){
arr[i][j] = 1;
}else {
arr[i][j] = arr[i-1][j]+arr[i-1][j-1];
}
}
}
for (int i = 0; i < arr.length; i++) {
int[] cellArr = arr[i];
for (int j = n - 1 - i; j > 0; j--) {
System.out.print(" ");
}
for (int i1 = 0; i1 < cellArr.length; i1++) {
System.out.print(cellArr[i1]+" ");
}
System.out.println();
}
}
}
- 控制台结果
![在这里插入图片描述](https://img-blog.csdnimg.cn/20201208210947537.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzM5MzI2NTc0,size_16,color_FFFFFF,t_70#pic_center)