如果需要为局部变量赋予一些默认值,那么为什么java会为本地声明的数组提供默认值。java中数组的默认值是多少?
import java.util.Arrays;
import java.util.Scanner;
public class MatrixMultiplication {
int a;
int a1[][]=new int[2][2];
public static void main(String[] args) {
int a2[][]=new int[2][2];
int b;
MatrixMultiplication mm=new MatrixMultiplication();
System.out.println(mm.a);
System.out.println(mm.a1[1][0]);
System.out.println(b);
System.out.println(a2[1][0]);
}
}
像为varible默认值以上代码为0且对于b我们必须setsome值。然后对于a1 [] [],每个元素的dafult值为0.直到这里,一切都被理解为它们具有deafult值,但是由于a2 [] []是局部声明的,所以它的元素不应该默认初始化为java的规则,以便它们是如何被初始化默认情况下,每一个元素为0
对于整数和浮点基元,它是0,对于布尔值“false”,对于所有其他引用类型,它是“null”。 (但是对于局部变量,没有默认值,你调用'new'来创建一个新的对象,这会初始化本地数组,所以这就是元素被设置为0的方式,'new'就是这样。) – markspace