OD
[JAVA] 배열의 초기 값 본문
[null, 유재석, null, null]
자바를 입문 강의로 독학하던 중 배열(Array) 파트에서 특이한 점을 발견했다.
먼저
String[] classgroup2 = new String[4];
위와 같은 코드로 String 형식의 길이가 4인 배열을 선언한 후
classgroup2[1] = "유재석";
배열의 1번 위치에 문자열을 할당하고
System.out.println(Arrays.toString(classgroup2));
출력을 했을 때
[null, 유재석, null, null]
이런 식으로 출력이 되는데, 문자열은 할당이 되지 않은 빈 값은 null이 초기값이라는 것을 알게 되었다.
그 후 int, double, bool 타입의 배열을 선언한 뒤 출력 결과를 살펴본 결과 타입 별로 초기 값이 다르다는 것을 알게 되었다.
String[] classgroup2 = new String[4];
int[] classnum = new int[4];
double[] classdouble = new double[4];
boolean[] classbool = new boolean[4];
이런식으로 String, int, double, bool 형식의 배열을 선언한 뒤,
System.out.println(Arrays.toString(classnum)); // 길이는 4로 선언해서 4이지만, 입력한 인덱스 제외하고는 0으로 저정되어 있음
System.out.println(Arrays.toString(classdouble)); // 길이는 4로 선언해서 4이지만, 입력한 인덱스 제외하고는 0.0으로 저정되어 있음
System.out.println(Arrays.toString(classbool)); // 길이는 4로 선언해서 4이지만, 입력한 인덱스 제외하고는 false로 저정되어 있음
System.out.println(Arrays.toString(classgroup2)); // 길이는 4로 선언해서 4이지만, 입력한 인덱스 제외하고는 null로 저장되어 있음
출력을 실행하면
[0, 11, 0, 0]
[0.0, 10.0, 0.0, 0.0]
[false, true, false, false]
[null, 유재석, null, null]
이러한 출력 결과를 얻을 수 있었는데, 이러한 결과를 토대로
변수의 타입 별로 배열의 초기 값이 다르다는 것을 알게되었다.
구글링 결과
타입 | 초기 값 |
byte, char, short, int, long | 0 |
float, double | 0.0 |
boolean | false |
클래스, 인터페이스 등 참조형 | null |
타입 별 초기 값을 알게 되었다.
아직 자바 입문 단계라 이게 어떻게 프로그램에 적용되고, 사용될 지 모르겠지만 지금 현재로써는
bool 타입의 경우에는 배열에서 초기값이 false이므로 조건문에서 쓰일 것 같다는 생각뿐이다..
'JAVA > TIL : JAVA' 카테고리의 다른 글
[JAVA] 조건문 - for each문 (0) | 2022.01.16 |
---|---|
[JAVA] 문자열 비교 시 '=='와 '.equals()' 차이점 (0) | 2022.01.15 |