배열
배열의 기초
배열은 다음과 같이 선언할 수 있다.
선언 시 대괄호 안 내용은 비워두어야 한다.
int [] lottoNumber;
int lottoNumber []; 배열은 다음과 같이 초기화 할 수 있다.
선언한 배열의 크기를 알 수 없기 때문에, 초기화하는 부분에서 배열의 크기를 지정해준다. -> 배열은 무조건 초기화 시 크기가 지정되어야만 한다. 중간에 배열의 크기를 변경할 수 없다 .. 때문에, 이러한 단점을 보완하기 위해서 Collection 이라는 것이 존재한다.
배열도 참조 자료형이기 때문에, 신규로 생성 시
new키워드를 붙여주어야 한다.
int [] lottoNumber = new int[7];
int [] lottoNumber = {1,2,3,4,5,6,7}; // 배열을 초기화하는 다른 방법배열은 인덱스를 통해 각 요소에 접근할 수 있으며, 인덱스는 0부터 시작된다.
각 요소는 배열 타입의 기본값으로 초기화 된다. -> 참조 자료형의 경우 null 값으로 초기화 된다. -> 아래 코드의 경우는
int타입의 기본값으로 초기화 되었다.이전에 지역 변수는 초기화를 사용하지 않는다고 이야기 했었는데, 배열은 예외적으로 지역 변수라 할지라도 크기만 지정되어 있다면, 기본값으로 초기화되며, 문제가 발생하지 않는다.
범위를 넘어서는 인덱스에 접근 시
java.lang.ArrayIndexOutOfBoundException을 볼 수 있다..
int [] lottoNumber = new int[7];
for(int i=0; i<lottoNumber.length; i++){
System.out.println(lottoNumber[i]); // 0
}2차원 배열
2차원 배열은 다음과 같이 선언과 초기화를 할 수 있다.
아래 2차원 배열은 다음과 같이 해석 할 수 있다.
twoDim[0]= int 배열twoDim[0][0]= int 값
2차원 배열을 for 루프를 사용해서 출력해보는 코드를 살펴보자
JDK 5 부터 추가된 개선된 for 문을 사용해 위 코드를 개선해보자
하지만 개선된 for 문은 배열의 위치를 모른다는 것이다.. 이를 위해서 임시 변수를 사용해야 하는데, 그렇게 불편하게 사용할 것이라면 그냥 for 문을 사용하는게 낫지 않을까?
Last updated