-
- 배열이란
인덱스를 이용해서 자료형이 같은 데이터를 관리하는 것
An array holds a fixed number of values of one type.
- 배열 선언 및 초기화
String[] : an array made up of String
int[] arr1 = new int[5];// 크기 5인 배열을 메모리 공간에 확보하겠다. // 선언과 초기화 동시에 int[] arr2 = {10, 20, 30, 40, 50}; // 선언한 후 초기화 int[] arr2 = new int[3]; arr2[0] = 10; arr2[1] = 20; arr2[2] = 30;
배열의 크기는 선언할 때 정해지고 바꿀 수 없다.
* public static void main(String[] args) {}
args : the array args contains the arguments that we pass in from the terminal when we run the class file.
So far, args has been empty.
public class HelloYou { public static void main(String[] args) { System.out.println("Hello " + args[0]); } }
java HelloYou Laura -> Hello Laura 출력
args[0].equals("Human")
- 배열의 메모리 크기
배열을 구성하는 데이터의 자료형에 따라서 배열의 메모리 크기가 결정된다.
int형 : 4byte
- 배열을 가리키는 배열 이름
기본 자료형 데이터를 담고 있는 변수와 달리 배열 변수는 배열 데이터의 주소를 담고 있다.
객체는 다른 곳에 만들어두고 배열이름은 그 객체의 주소를 갖는다. 배열은 첫번째 인덱스에 있는 객체의 주소를 갖는다.
배열 요소 출력
Arrays.toString(배열이름);
배열 요소 복사
// 배열 기본 속성 int[] arrAtt1 = {10, 20, 30, 40, 50, 60}; int[] arrAtt2 = null; int[] arrAtt3 = null; // 배열 요소 복사 arrAtt3 = Arrays.copyOf(arrAtt1, arrAtt1.length);
값을 복사한다.
배열1과 배열3이 담고 있는 주소가 다르다! 같은 객체를 가리키고 있는 것이 아니다.
배열1번이 가리키고 있는 주소에 해당하는 값들을 메모리 어딘가에 다시 만들어놓고 3번이 이를 가리키는 것!
(새로운 곳에 요소 복사해놓고)
값은 같을지언정 가리키고 있는 메모리 주소는 다르다.
배열 레퍼런스
arrAtt2= arrAtt1;
같은 배열을 가리키고 같은 배열을 레퍼런스하고 싶다.
- 다차원배열
배열의 요소가 또다시 배열인 경우
int[][] arrMul = new int[3][2];
'컴퓨터 > Java' 카테고리의 다른 글
객체지향 원칙 2: 상속보다는 구성을 활용한다. (0) 2019.09.07 조건문, 반복문 (0) 2019.09.05 특수 문자와 서식 문자 (0) 2019.09.04 입력과 출력 (0) 2019.09.04 예외처리 (0) 2019.09.04