动态初始化:
数据类型[] 数组名称=new 数组名称[大小];
静态初始化:
数据类型[] 数组名称={元素,元素,元素...};
总结下:数组是一个引用对象,数组变量(引用)实际存储的是对象的地址。所以可以传址运算;
动态初始化:
数组类型[] [] 数组名=new 数组名称[大小][大小];
静态初始化:
数据类型[][] 数组名={{元素,元素,元素},{元素,元素,元素},{元素,元素,元素}};
public static void main(String []args) {
int[][] array=new int[3][];
for(int i=0;i<array.length;i++) {
array[i]=new int [i+1];
for(int j=0;j<array[i].length;j++) {
array[i][j]=j+1;
}
}
for(int i=0;i<array.length;i++) {
for(int j=0;j<array[i].length;j++) {
System.out.print(array[i][j]+" ");
}
System.out.println();
}
}
//创建 二维数组,一个有 3 个一维数组,但是每个一维数组还没有开数据空间
int[][] arr = new int[3][];
for(int i = 0; i < arr.length; i++) {//遍历 arr 每个一维数组
//给每个一维数组开空间 new
//如果没有给一维数组 new ,那么 arr[i]就是 null
arr[i] = new int[i + 1];
//遍历一维数组,并给一维数组的每个元素赋值
for(int j = 0; j < arr[i].length; j++) {
arr[i][j] = i + 1;//赋值
}
}
System.out.println("=====arr 元素=====");
//遍历 arr 输出
for(int i = 0; i < arr.length; i++) {
//输出 arr 的每个一维数组
for(int j = 0; j < arr[i].length; j++) {
System.out.print(arr[i][j] + " ");
}
System.out.println();//换行
}
}
}