-개요
- 많은 양의 데이터를 처리하기 위해서 사용
- 데이터를 연속된 공간에 나열하고 각 데이터에 Index를 부여한 자료구조
- 같은 타입의 데이터만 저장이 가능하다
- 처음 선언한 데이터의 길이 값이 고정되어 늘리거나 줄일 수 없다
- 현재는 거의 사용하지 않고 arrayList라는 클래스를 사용한다
-사용
- 선언
-
type[] 변수명; type 변수명[];
- 대괄호를 type뒤에 붙여도 되고 변수명 뒤에 붙여줘도 작동이 되지만 자바에서는 일반적으로 type뒤에 작성해준다
- type에는 기본타입뿐 아니라 참조 타입도 넣어줄 수 있다
- int [] num;이라고 선언 시 num이라는 배열에는 int타입의 리터럴만 저장이 가능
- String [] str;이라고 선언 시 str이라는 배열에는 String타입의 리터럴만 저장이 가능
-
- 초기화
-
type[] 변수명 = new int[배열의 길이]; type[] 변수명 = {리터럴 값1, 리터럴 값2, 리터럴 값3...};
- 두 가지 방법으로 초기화가 가능하다
- 첫 번째 방법에서 배열의 길이 부분에 5를 넣어준다면 5칸의 배열이 생성된다
-
int[] num = new int[5]; num[0] = 1; num[1] = 2; num[2] = 3; num[3] = 4; num[4] = 5;
- 위와 같이 길이를 5로 정해주면 int타입의 5칸짜리 배열 num이 생성된다.
- 그 뒤 배열의 index번호에 값을 입력해 주면 된다.
- index는 0부터 시작하므로 꼭 기억하도록 하자
- 만약 어떤 위치의 값을 출력해주고 싶다면 -1을 해주면 된다
- 5칸 배열의 3번째 값을 출력하고 싶다면 3 - 1을 해주면 2이기 때문에 세 번째 칸의 배열 값이 나온다
-
- 두 번째 방법은 리터럴 값을 넣어준 만큼 길이가 설정된다
- new로 초기화를 진행한 경우 기본적으로 들어가는 값들이 있다
- 정수
- byte : 0
- char : '\u0000'
- short : 0
- int : 0
- long : 0L
- 실수
- float : 0.0F
- double : 0.0
- 논리
- boolean : false
- 참조
- Class : null
- Interface : null
- 정수
- 초기화를 했을 때 아무 값도 넣지 않을 경우 위와 같이 타입별로 초기화가 된다.
-
- 값 입력
-
int[] num = new int[5]; for(int i = 0; i < 5; i++) { num[i] = i + 1; }
- 이런 식으로 값을 넣어주는 방법이 있다
- 선언과 초기화를 동시에 한다면 중괄호 안에 리터럴을 직접 입력해주면 되지만 배열의 생성만 했다면 위와 같이 자료를 삽입해 줘야 한다
- 숫자의 경우 index를 순차적으로 올려가면서 위의 코드와 같이 1~5까지의 숫자를 0~4까지의 index값에 삽입이 가능하다
- 반복문을 사용해주지 않을 경우 num [0]~num [4]를 하나하나 사용해주면서 각각 값을 넣어줘야 한다.
-
- 배열 길이
- 배열은 길이를 구하는 일이 많을 것이다 이때마다 배열의 길이를 직접 써주는 것보다는 Length함수를 사용하면 간편하게 길이를 구할 수 있다
-
int[] num = {1, 8, 9, 2, 3, 4, 9, 5, 0, 3, 4}; System.out.println(num.length);
- 11이 출력될 것이다.
- 위의 코드와 같이 배열에 리터럴을 입력해 초기화를 해준 경우 길이를 구하려면(몇 칸인지 구하려면) 일일이 세줘야 하지만 length를 사용하면 컴퓨터가 알아서 해준다.
- 사용
- 배열 내부의 값 중 특정 칸에 어떤 값이 들어있는지 확인을 하려면 아래 코드를 참고하자
-
System.out.println(num[2]);
- 배열 길이의 코드와 이어서 본다면 9가 출력이 될 것이다.
- 앞서 말했듯 index는 0부터 시작한다.
- 그렇기 때문에 2를 입력해주면 3번째 칸의 값이 출력이 된다.
'Back-end > JAVA' 카테고리의 다른 글
14. 참조 타입(Reference Type) - Enumeration(열거타입) (0) | 2021.06.21 |
---|---|
13. 참조 타입(Reference Type) - Array 심화 (0) | 2021.06.18 |
11. 참조 타입(Reference Type) - String (0) | 2021.06.17 |
10. 참조 타입(Reference Type) - 개념 (0) | 2021.06.17 |
9. 반복문(for, while, do-while) (0) | 2021.06.15 |