- 배열은 동일한 데이터 타입을 메모리상에 순차적으로 확보한 것이다.
- 메모리 관리를 좀더 편하게 하기위해 만들었다.
- 첫 번쨰 주소만 알면 나머지 주소를 알 수 있다.
장점 : 많은 데이터를 손쉽게 확보
일괄처리 가능 (반복문 사용)
단점 : 생성된 이후 메모리 추가가 안되고, 메모리 낭비가 발생할 수 있다.
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(); } } }
반응형