본문 바로가기
Java/Java language

[JAVA]6. 배열?

by oomm112 2021. 8. 13.

A. 배열이란?

 - 배열(Array)은 같은 타입의 변수들로 이루어진 유한 집합이다.

 - 배열에는 자료형 데이터들을 배열 형태로 저장할수 있습니다.

 - 배열에서는 index를 이용하여 배열에서의 위치를 알 수 있습니다.

 

 B.배열 객체가 생성된 후의 메모리 구조

int[] array = new int[3];
//int(정수)형의 데이터를 담아놓은 3[3]의 길이를 가진 배열을 생성한다.
array[0] = 2;
array[1] = 3;
array[2] = 4;
//array[3] = 5; 이 부분은 에러가 나는 코드이다, 배열은 index가 0부터 시작하기 떄문에
//3의 길이인경우 0~2 사이의 인덱스만 가지고있다.

1.위 처럼 배열을 생성 할경우  코드 > 스택 > 힙 순서대로 힙에 배열에서 생성한 3의 길이만큼의 공간이 생성된다.

 

2.다음으로 2번쨰줄부터 4번째줄까지의 array[index] = 2;의 경우에는 위에서 설명한 힙값에 index값에 대응하는 공간을 스택에서 참조하여 heap값을 변경시켜준다.

 

C. 1차원 배열과 2차원 배열

1차원 배열 : 배열 안에 데이터 값을 포함하고 있는 유한 집합이다.2차원 배열 : 1차원 배열과 같이 데이터 값을 포함하고 있지만, 2차원 배열에서는  ex) int[][] array2 = new int[3][3];  2차원 배열내의 1차원 배열에서는 2차원배열의 주소값을 담고있다.

int[] array1 = new int[2];
for(int i = 0; i < array1.length; i++){
	array1[i] = 3;
}//array1의 모든값을 정수형 데이터인 3으로 모두 채운다.

//2차원배열
int[][] array2 = new int[3][2];
for(int i = 0; i < array2.length; i++){
	sytem.out.println("이 경우에는 2차원 배열의 1차원 배열만 참조할수 있다.");
    for(int j = 0; j < array2[i].length; j++){
    	array2[i][j] = 3;
        //array2의 2차원배열의 값을 모두 3으로 채운다.
    }
}

//2차원배열 출력 예상값
// 3 3 3 
// 3 3 3
//가로는 1차원 배열을 뜻하고, 세로는 2차원 배열을 뜻한다.

 

반응형

댓글