본문 바로가기
Java

[Java] 배열

by 스응 2023. 2. 9.
728x90
728x90

배열 (Array)

  - 연관된 데이터들을 하나의 변수에 모아서 통으로 관리하기 위해 사용하는 리스트 자료 구조

  - 여러 개의 데이터를 하나의 변수에 저장하기 위한 것

 

1
2
3
4
5
6
7
8
9
10
11
12
// 배열 선언 (메모리 영역에 공간만 할당함, 값 X)
값자료형[] 배열명 = new 값자료형[배열크기]; // ex) int[] arr = new int[3];
값자료형 배열명[] = new 값자료형[배열크기];
 
// 배열 값 초기화 (인덱스 연산 값 할당)
배열명[인덱스] = 값;
 
// 배열 선언과 초기화
값자료형[] 배열명 = {요소1, 요소2, 요소3, ...};
 
// 배열 값 확인
System.out.println(배열명[인덱스]);
cs

 

  - '배열'의 자료형과 '배열 값'의 자료형은 다름  ex) (배열 값 자료형 int) != (배열 자료형 int[])

      → 변수 자료형이나 반환 자료형 등을 입력할 때는 '배열'의 자료형을 입력해야 함 

  - 배열 선언 시, 자동으로 자료형의 기본값에 따라 초기화됨

      → int : 0 // double : 0.0 // boolean : false // 참조자료형(String 등) : null

 

  - 기본 자료형 배열은 선언과 동시에 배열 크기 만큼의 메모리가 할당됨

  - 객체 배열의 메모리 공간에는 heap 메모리에 대한 주소 값이 할당됨

 

// for 문을 활용한 객체 배열 생성 형식
for (int i = 0; i < 개수; i++) {
    배열명[i] = new 클래스명(매개변수);
}

#  인덱스

  - [] : 인덱스 연산자 

  - 배열 크기가 n일 때, 인덱스는 0부터 (n-1)까지 생성됨

#  배열의 길이 반환

  - 배열명.length

  - 배열의 길이와 실제 요소의 개수는 다를 수 있음

      → 값이 부여되지 않은 인덱스의 값에 접근하려고 하면 NullPointerException 에러 발생

 

 


이중 배열

1
2
3
4
5
6
7
8
9
// 선언과 동시에 초기화
String[][] 배열명 = {
    {값1, 값2, ...},
    {값1, 값2, ...},
    ...
};
 
// 배열 요소에 접근
배열명[i][j]
cs

 

 


기타 메모

- 배열 사용 시 런타임 에러가 잦으므로, null 값을 배제하는 방어적 코드 활용하기

 

320x100
반응형

댓글