在Java中有那么一句话,Java中实际上只有一维数组
二维数组的初始化方式
(1)动态初始化
同一维数组差不多,当分配空间与赋值操作不在一起进行时就被称为了动态初始化。
(2)静态初始化
分配空间与赋值在同一个步骤进行。
(3)默认初始化
同一维数组一样,一开始对二维数组声明时便会默认有初始值这就被称为默认初始化(根据二维数组的数据类型的不同其默认初始化的值也会不同,如:int byte short long 的默认初始值为0 float double为0.0 char为一个小空格 boolean为false 引用型为 null )
为了更加好理解默认初始化,我们引入debug(断点调试)
我们可以看到我们并没有给二维数组arr2赋值,但是它已经有了数值,这就是默认初始化
引入二维数组的四种正向遍历方法
在此加入四种方法,希望对友友萌可以有到一定帮助。
public class Tsz {
public static void main(String[] args) {
//在此我们定义了一个二维数组
int arr[][]=new int[3][];//我们给其分配的空间为3,可以看成我们定义了一个一维数组
arr[0]=new int[]{1,3,2,45,57};//动态初始化
arr[1]=new int[]{1,3,4,2,4,6,7};
arr[2]=new int[]{6,4,3,7,8,4,9};
//我们要对二维数组进行正向遍历,可以使用四种方法。
//方法一:两个for循环
for (int i = 0; i < arr.length; i++) {
for (int j = 0; j < arr[i].length; j++) {
System.out.print(arr[i][j]+"\t");
}
System.out.println();
}
//方法二:外层for内层增强for
for (int i = 0; i < arr.length ; i++) {
for(int num:arr[i]){
System.out.print(num+"\t");
}
System.out.println();
}
//方法三:使用两个增强for循环
for (int num[]:arr
) {
for (int a:num
) {
System.out.print(a+"\t");
}
System.out.println();
}
//方法四:外层增强for循环,内层for循环
for (int num[]:arr
) {
for (int i = 0; i < num.length ; i++) {
int a=num[i];
System.out.print(a+"\t");
}
System.out.println();
}
}
}