본문으로 바로가기

배열 (Array)

category Java/java 2020. 8. 6. 10:57

- 배열은 동일한 데이터 타입을 메모리상에 순차적으로 확보한 것이다.

- 메모리 관리를 좀더 편하게 하기위해 만들었다.

- 첫 번쨰 주소만 알면 나머지 주소를 알 수 있다.

 

장점 : 많은 데이터를 손쉽게 확보
        일괄처리 가능 (반복문 사용)
  
단점 : 생성된 이후 메모리 추가가 안되고, 메모리 낭비가 발생할 수 있다.

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();
		}
		
	}
}
반응형

'Java > java' 카테고리의 다른 글

final  (0) 2020.08.11
상속  (0) 2020.08.10
this  (0) 2020.08.05
Class  (0) 2020.08.05
Method  (0) 2020.08.05