关于一维数组和二维数组学习笔记
一维数组的声明和初始化
静态初始化:数组的初始化和数组元素的赋值操作同时操作
1 2
| int[] ids; ids = new int[]{12,87,24,88,39};
|
或 int[] ids={23,25,11,8}
动态初始化:数组的初始化和数组元素的赋值操作分开进行
Sring[] name = new String[5];
数组元素的默认初始化:

一维数组的简化内存结构:




二维数组的声明和初始化
数组元素初始化值
针对初始化方式一:比如:int [][] arr = new int[4][3];
外层元素的初始化值为:地址值
内层元素的初始化值为:与一维数组初始化情况相同
针对初始化方式二:比如:int[][] arr = new int[4][];
外层元素的初始化值为:null
内层元素的初始化值为:不能调用,否则报错
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
| public static void main(String[] args) { int[][] arr=new int[4][3]; System.out.println(arr[0]);//[I@1540e19d System.out.println(arr[0][0]);//0 System.out.println(arr);//[[I@677327b6
System.out.println("-------------");
String[][] arr2=new String[4][2]; System.out.println(arr2[1]);//[Ljava.lang.String;@14ae5a5 System.out.println(arr2[1][1]);//null
System.out.println("-------------"); String[][] arr3=new String[4][]; System.out.println(arr3[1]);//null System.out.println(arr3[1][0]);//空指针异常 }
|
二维数组的遍历
1 2 3 4 5 6
| int[][] array = new int[][]{{1,2,3},{4,5,6},{7,8,9}}; for(int i=0;i<arr.length;i++){ for(int j=0;j<array[i].length;j++){ System.out.println(array[i][j]); } }
|
二维数组的内存解析



杨辉三角
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
| int[][] arr2 = new int[10][]; for(int i=0;i<arr2.length;i++) { arr2[i]=new int[i+1]; arr2[i][0]=arr2[i][i]=1; for(int j=1;j<arr2[i].length -1;j++) { arr2[i][j]=arr2[i-1][j]+arr2[i-1][j-1]; } }
for(int i=0;i<arr2.length;i++) { for(int j=0;j<arr2[i].length;j++) { System.out.print(arr2[i][j]+" "); } System.out.println(); }
|
评论区