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차원 배열을 뜻한다.
반응형
'Java > Java language' 카테고리의 다른 글
| [JAVA]8. 컬렉션 구조 (0) | 2021.08.14 |
|---|---|
| [JAVA]7. 가변인자 / static&인스턴스 메소드 / super & super() / final 예약어 (0) | 2021.08.13 |
| [JAVA]5. 삼항 연산자 / break와 continue의 차이 (0) | 2021.08.13 |
| [JAVA]4. 자바 JDK와 식별자 (0) | 2021.08.13 |
| [JAVA]3. 자바의 정규표현식? (0) | 2021.08.06 |
댓글