01. 배열이란
- 배열이란
- 동일한 자료 유형의 여러 값들로 이루어진 객체(Object)
- new로 생성되는 참조 자료형
int[] scores = new int[30];
- 배열에 포함된 값들은 기본 자료형(Primitive Type)일 수도 있고,
다른 객체를 참조하는 참조 자료형(Reference Type)일 수도 있음
- 배열을 선언하는 두 가지 방법
1) 타입[ ] 식별자
2) 타입 식별자[ ]->크기 x
-값 목록이 있다면, {}으로 값의 목록을 지정하여 초기화할 수 있음
String[ ] days ={ "월요일", "화요일",..." 일요일"};
* 위 방식은 배열 변수 선언과 동시에 해 주어야 함
- 다음과 같은 방식으로 new 연산자 뒤에 나열할 수도 있다.
String[ ] days;
days = new String[ ] { "월요일", "화요일",..." 일요일"};
- 배열의 선언 방식 종류
1) 일반적인 인스턴스 배열의 선언과 생성
int[] intArray = new int[3];
배열의 초기화
intArray[0] = 3;
intArray[1] = 6;
intArray[2] = 9;
2) 생성과 동시에 초기화, 길이정보 생략가능
int[] intArray = new int[3] {1, 2, 3}; (X)
int[] intArray = new int[] {1, 2, 3}; (O)
3) 줄여서 표현가능
int[] intArray = {1, 2, 3};
- ArrayIndexOutOfBoundsException
- 배열의 범위를 벗어난 곳에 접근하려면 ArrayIndexOutOfBoundsException을 일으킨다
- 배열의 인덱스는 0부터 시작한다는 점을 잊지말자
- 다차원 배열 형태
타입[ ][ ] 배열명 = new 타입[행_수][열_수]
- 배열의 복사
- 배열은 한번 생성하면 크기를 변경할 수 없다
- 추가로 저장공간이 필요하다면, 원래 배열보다 큰 배열을 만들고 이전 배열의 항목값을 복사해야 한다
- 향상된 For Loop
- 객체를 좀 더 쉽게 처리할 수 있는 향상된 for문을 제공(Java5이상)
- 카운터 변수, 증감식을 사용하지 않고, 배열 및 컬렉션 항목의 개수만을 반복
- 배열의 복사 (arraycopy)
* 위의 코드는 아래의 코드의 결과와 같다
***새로 알게 된 점:
참조 자료형: String 등
기본 자료형: char, int, float등
참조 자료형의 할당
String[ ] arr = new String[3];
여기서 arr = {nulll, null, null}이고,
기본 자료형의 할당
int[ ] arr = new int[3];
여기서 arr = {0, 0, 0} 이다
* 이유는 기본자료형 같은 경우, Heap에 int 공간을 할당할 때 초기값(ex. int의 경우 초기값 0)이 있다
그러나 참조자료형 같은 경우 heap에 String 공간할당이 되어도 참조자료형인 String에 아무것도 들어있지 않기때문에(아무것도 참조하지 않기 때문에) null이 나온다.
'Java' 카테고리의 다른 글
[Chapter08]객체지향 프로그래밍2 (0) | 2021.12.14 |
---|---|
[chapter04] 제어문 (0) | 2021.12.10 |
[Chapter11] 제네릭과 컬렉션 (0) | 2021.12.08 |
[Chapter01]자바 언어 소개 (0) | 2021.12.08 |
[Chapter07-2] 객체지향 프로그래밍1 (0) | 2021.12.07 |