-
- 배열은 여러 개의 데이터를 저장할 수 있다.
- 배열을 이용하면 하나의 변수명으로 여러 개의 데이터를 관리할 수 있다.
- 배열은 순서대로 번호(인덱스)가 붙은 요소들이 연속적인 형태로 저장된다.
- 각 요소에 부여되는 번호(인덱스)는 0번부터 시작하며, 각 요소마다 순서대로 번호(인덱스)가 부여된다.
- 인덱스의 범위는 아래와 같다.
0 <= 인덱스번호 < 배열의크기
- 배열에 저장된 데이터는 번호(인덱스)로 각 요소에 접근할 수 있다. (단점) 몇 번째에 담아야하는지 인덱스를 신경쓰고 있어야 한다.
- 자바의 배열은 일정한 크기를 가진다.
- 자바의 배열은 한 번 정해진 크기를 변경할 수 없다. (가장 큰 단점)
ex. 성적장학금을 10명이 받을 수 있다고 예측했는데 15명이 대상일 때 문제가 됨.
- 자바의 배열은 동일한 타입의 값만 저장할 수 있다. (장점이자 단점) 동일한 타입이 꺼내질 것임을 예상 가능하다.
(컬렉션은 다른 타입도 저장 가능)
- 배열에는 length라는 변수가 있으며, 배열의 크기가 저장되어 있다.
- 값을 세팅하지 않아도 기본default값이 들어가 있다.
변수는 생성하고 초기화하지 않으면 쓰레기값이 들어가있지만,
배열객체는 저장소안에 절대 쓰레기 값이 들어가있지 않고 디폴트값이 기본으로 들어있다.
- 배열객체는 고유한 주소값을 갖고 있다.
배열 정의
형식
데이터타입[] 변수명 = new 데이터타입[크기];
데이터타입[] 변수명 = {값, 값, 값, 값, ...};
데이터타입[] 변수명 = new 데이터타입[]{값, 값, 값, 값, ...};
int[] arr1 = new int[5];
// int[] arr1 -> arr1은 정수를 여러 개 저장하는 배열 객체의 주소값을 담을 수 있는 변수다.
// new int[5] -> 정수 5개 담을 수 있는 배열 객체를 생성한다.
// int[] arr1 = new int[5]; -> 정수 5개를 담을 수 있는 배열객체를 생성하고, 그 객체의 주소값을 arr1에 대입한다.
배열에 값 저장하기
arr1[0] = 34;
arr1[1] = 50;
arr2[3] = 3.14;
arr2[4] = 0.256;
arr3[0] = "홍길동“;
arr3[1] = "김유신“;
배열의 값 사용하기
System.out.println(arr1[0]);
int sum = arr1[0] + arr1[1];
String name = arr3[0];
String은 객체이기 때문에 객체 자체를 담지는 못하고 참조한다. 객체의 주소값을 담고 있다.
null은 객체를 참조하고 있지 않다는 의미.
객체를 대입한다는 것은 객체의 주소값을 대입한다는 것이므로
name과 arr3[0]이 바라보는 객체는 같다.
System.out.println(name); // 홍길동
name이 바라보는 객체의 값을 출력한다.
2차원 배열
자료형[][] 변수명 = new 자료형[크기][크기];
자료형[][] 변수명 = {{값,값,값},{값,값,값},{값,값,값}};
'기록' 카테고리의 다른 글
학원 DAY7. 객체지향 프로그래밍 (0) 2022.09.17 DAY6. 향상된 FOR문 (Enhanced-for문) (0) 2022.09.09 DAY6. while문 (0) 2022.09.09 DAY3. 설계도로 객체 생성하고, 참조하기 (0) 2022.09.08 DAY4. 제어문과 반복문, 변수의 스코프 (0) 2022.09.08