如果需要爲局部變量賦予一些默認值,那麼爲什麼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