본문 바로가기

개발

[JAVA] #12. 배열[Array] 선언과 사용 방법

 

배열(Array) 정의 및 특징


char charArr[] = { 'H', 'e', 'l', 'l', 'o' };
System.out.println(charArr);
​
System.out.println(charArr[0]);
System.out.println((int)charArr[0]); // 72라는 숫자가 출력 ==> ASCII 코드로 출력
​
​
char charArr2[] = new char[5];
charArr2[0] = 'H';
charArr2[1] = 'e';
charArr2[2] = 'l';
charArr2[3] = 'l';
charArr2[4] = 'o';
​
System.out.println(charArr2);
​
System.out.println((int)charArr2); // JAVA에서 막아놓긴 했지만, 원래는 Heap의 주소가 나온다. (오류)
​
// 배열은 무조건 꼭 알고 가자

 

■ 배열(Array)

변수의 확장 기능을 담당한다. 즉, 변수가 1개가 아닌 복수 갯수로 표현할 때 배열을 유용하게 쓸 수 있다. 또한 변수의 관리를 용이하게 하기 위한 목적을 가진다. 한 마디로, 같은 자료형인 변수들의 묶음이라고 생각하면 쉽다.

관리는 index 번호를 통해 0번지부터 시작해서 (n-1) 번지까지 이름을 지어준다고 생각하면 된다. ((0번지, 1번지 ...), n-1개까지)

자료형 배열명(=변수명)[] = new 자료형[배열의 갯수];
int Array[] = new int[10];

 

위의 선언문을 보면 10개의 변수를 선언한 것이다. 여기서 "new"의 뜻은, 동적 할당이 된다는 뜻이다. new는 변경이 가능하며, C언어로 치면 포인터라고 생각하면 된다.

한 번 할당이 되기 시작하면 정적으로 사용한다.

 

num1 = 1;
​
Array[0] = 1;
Array[1] = 2;
Array[2] = 1;
.
.
Array[9] = 10;

 

형식은 3가지가 있는데, 셋 중 편하게 쓰면 된다. 

int array[] = new int[3];
int []array = new int[3];
int[] array = new int[3];
// 3가지 형식 모두 가능하다.

 

int tag = 1;
​
int arr[] = { 1, 2, 3 };
// {} 블럭괄호
// 0번지 1번지 2번지
​
System.out.println("arr[0] = " + arr[0]);
System.out.println("arr[1] = " + arr[1]);
System.out.println("arr[2] = " + arr[2]);
// System.out.println("arr[3] = " + arr[3]);
// 오류코드 java.lang.ArrayIndexOutOfBoundsException: 3 ===> " 3번지가 어디 있는가? "

 

1 = 0번지, 2 = 1번지, 3 = 2번지이다. 따라서, arr[3]으로 불러왔을 때 ArrayIndexOutOfBoundException 에러를 불러온다.