ローカル変数にあるデフォルト値を割り当てる必要がある場合、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です。ここまでは、デフォルト値ではなく、a2 [] []がローカル宣言されているので、要素はデフォルトでは初期化されませんJavaのルールはので、どのように彼らは0
整数と浮動小数点のプリミティブの場合は0、ブール値がfalseの場合、他のすべての参照型の場合はヌルです。 (しかし、ローカル変数にはデフォルトはありません。ローカル配列を初期化する新しいオブジェクトを作成するには 'new'を呼び出します。これで要素が0に設定される方法は' new'です) – markspace