로컬 변수에 기본값을 지정해야하는 경우 java가 로컬로 선언 된 배열의 기본값을 제공하는 이유는 무엇입니까? varible 디폴트 값에 대한 위의 코드에서처럼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]);
}
}
는 0이고 B의 우리는 가치를 setsome해야합니다. 그런 다음 a1 [] []에 대해 각 요소의 dafult 값은 0입니다. 여기까지는 모든 값은 디 퍼트 값으로 제공되지만 a2 [] []는 로컬로 선언되므로 이해할 수 없으므로 요소가 기본적으로 초기화되지 않아야합니다. 자바 규칙 그래서 어떻게 0
정수 및 부동 소수점 프리미티브의 경우 부울 값은 'false'이고 다른 모든 참조 유형은 'null'입니다. (그러나 지역 변수에 대해서는 기본값이 없습니다. 새 배열을 초기화하는 새로운 객체를 만들기 위해'new'를 호출합니다. 그러면 요소가 0으로 설정되는 방법은'new'입니다.) – markspace