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 에러를 불러온다.
'개발' 카테고리의 다른 글
비동기(Asynchronous) 처리에 대한 이론 (0) | 2024.09.12 |
---|---|
[git] git repository 이동시 원격 저장소 연결 끊기 > 새로운 repository와 연결 (0) | 2022.08.18 |
[JAVA] List 객체에 데이터 담을 때 같은 값이 들어가는 오류 (0) | 2022.05.12 |