- 배열은 동일한 데이터 타입을 메모리상에 순차적으로 확보한 것이다.
- 메모리 관리를 좀더 편하게 하기위해 만들었다.
- 첫 번쨰 주소만 알면 나머지 주소를 알 수 있다.
장점 : 많은 데이터를 손쉽게 확보
일괄처리 가능 (반복문 사용)
단점 : 생성된 이후 메모리 추가가 안되고, 메모리 낭비가 발생할 수 있다.
public class ArrayExam {
public static void main(String[] args) {
// int a, b, c, d, e;
int []arr; // 래퍼런스 변수. 대괄호는 문법적으로 배열을 뜻함. c에서는 int arr[5]; c++에서는 int *p = new int[5];
// arr = new int[5]; // 배열선언
arr = new int[50];
// int []arr = new int[5];
// 참조하고 있는 대상이 0
// arr[0] = 1; a = 1;
// arr[1] = 2; b = 2;
// arr[2] = 3; c = 3;
// arr[3] = 4; d = 4;
// arr[4] = 5; e = 5;
//
// System.out.println(arr[0]);
// System.out.println(arr[1]);
// System.out.println(arr[2]);
// System.out.println(arr[3]);
// System.out.println(arr[4]);
for(int i=0; i < arr.length; i++) { // arr.length는 배열의 길이
arr[i] = i+1;
}
for(int i=0; i < arr.length; i++) {
System.out.println("arr["+i+"] : " + arr[i]);
}
}
}
다차원 배열
public class ArrayExam2 {
public static void main(String[] args) {
int cnt = 0; // 카운트 값 생성
int [][]arr = new int[2][]; // 열 길이를 정하지 않은 2차원 배열 생성
arr[0] = new int[2]; // 0행에 열 길이를 정해줌
arr[1] = new int[4]; // 1행에 열 길이를 정해줌
for (int i = 0; i < arr.length; i++) { // 행. arr.length는 행의 길이를 구함
for (int j = 0; j < arr[i].length; j++) { // 열. arr[i].length는 열의 길이를 구함
cnt++; // 카운트 값 증가
arr[i][j] = cnt; // 값 입력
}
}
for (int i = 0; i < arr.length; i++) { // 행
for (int j = 0; j < arr[i].length; j++) { //열
System.out.print("arr["+i+"]"+"["+j+"] : ");
System.out.print(arr[i][j] + "\t");
}
System.out.println();
}
}
}
반응형