Array(배열)
- Array(배열 기초)
- new : 객체 생성 연산자
- JVM ⇒ new를 만나는 순간 메모리 공간을 확보
- new int[6];일 경우 int 타입의 데이터 6개를 저장하는 의미
→int6개를 저장할 수 있는 24byte의 메모리 공각이 확보
- int 타입의 배열 객체는 각 방(인덱스)에 0 ‘기본값’을 할당
- new int[6]; ⇒ 0~5의 인덱스를 자동으로 할당한다(배열의 default 초기화)
- new double[6]; ⇒ 배열의 default 초기화
- 확보된 메모리의 주소를 알아야 배열 객체를 사용할 수 있음
- Datatype[ ] 참조변수;
- 참조변수에 배열객체의 위치 정보를 넣어 메모리 상의 객체를 사용 ⇒ 배열 객체에 접근이 가능하게 해줌
- 참조변수 = new Datatype[배열크기]; <값이 아닌 주소 정보를 갖는 변수>
- Ex) int[ ] total = new int[6];
- 존재하지 않는 인덱스에서 작업하려 할 때 Eclipse 상에 뜨는 error 메세지 : ArrayIndexOutOfBoundsException
- length변수
- 배열객체의 길이를 확인할 때 사용
- ex)참조변수.length
- 원래 배열은 같은 타입의 데이터만 저장할 수 있다.
- 배열은 타입변환이 가능한 경우에 한해서 다른 타입의 데이터도 저장할 수 있다.
- 명령 행 매개변수
- args : 매개변수
- String[ ] : 문자열 배열
- 데이터 전달 : Eclipse Run As → Run Configurations → arguments
- 문자열을 숫자로 변환 : Integer.parseInt( );
- 다차원 배열
- 일차원 배열 - 단 층의 호텔
- 이차원 배열 - 여러층의 호텔(일차원 배열이 여러개 쌓여 있다고 생각하면 쉬움) 이중 for문 사용
- 다차원 배열 - 배열에 대한 또 다른 배열
public static void main(String[] args){
int[][] scoreList = new int [2][5];
}
에서 scoreList[1][3][2] ⇒ 1차원의 1번 배열의 객체에 접근하여, 0~4번 방 중 3번방에 접근하고,
3번방의 주소 인덱스의 (0,1,2)에 접근 가능하다.