数组基础

数组基础

关于一维数组和二维数组学习笔记

一维数组的声明和初始化

  1. 静态初始化:数组的初始化和数组元素的赋值操作同时操作

    1
    2
    int[] ids;
    ids = new int[]{12,87,24,88,39};

    或 int[] ids={23,25,11,8}

  2. 动态初始化:数组的初始化和数组元素的赋值操作分开进行

    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();
}

评论 (tip: 昵称框输入QQ号即可评论)

Your browser is out-of-date!

Update your browser to view this website correctly. Update my browser now

×