본문 바로가기

Java/자바 기반 웹 개발자 과정 필기

[200224.6일차] Java 6 - 배열

반응형

 

1. 배열

*배열 = 같은 타입의 변수들의 모임

 

* 선언하기

선언할때 []대괄호를 사용한다.

둘다 가능.

int[] 변수명;

int 변수명[];

 

 

* 초기화하기

 

 

선언과 초기화 한번에

-> int[] numbers=new int[6]

 

 

 

 

* 참조변수

int[] s=new int[29];

 

JVM ( Stack / Heap / Class )

Stack -> 동적으로 담기게 되는 변수를 담게 된다. 배열에서는 위치를 담고있는 주소값을 저장한다.

저장되는 것 => s=주소값  // 이때 주소값이 저장될 s를 참조변수라고 한다.

Heap -> 실제 데이터가 저장되있다.

저장되는 것 => 29개의 정수를 저장할 공간

 

 

 

* 배열은 가장 기본적이면서, 가장 빠른 속도를 가진 자료구조이다.

 

변수는 저장할 때는 무작위 위치에 저장되고, 불러올 때는 일일이 찾아서 불러온다.

일반적으로 변수를 저장하게 되면 RAM(Random Access Memory)에 무작위로 저장이 된다.

( 우리가 보기에는 관련이 있는 변수들 같다고 모아서 순서대로 저장되어 있는게 아니다. )

저장한 변수를 불러올 때, 컴퓨터는 해당 변수를 찾을 때까지 일일이 찾아보게 된다.

 

이때 배열을 사용해서 연관된 데이터를 저장하면, 주소값이 저장된 참조 변수 하나만을 찾아

주소값을 따라가 heap에 연결해서 할당한 공간에 데이터들을 한번에 빠르게 저장하고 불러올 수 있게 된다.

 

 

 

 

 

* 배열 사용해보기. 값 저장 / 출력하기

 

 

 

 

 

점검문제

답 : int[] array=new int[100];

조심) int[] array=new int[100];

array[0] ~ array[99] 까지이다.

 

 

답 : 0~9

 

실행시간 에러가 난다.
크게 두 가지 방식으로 만들 수 있다.

 

 

 

 

* 배열의 길이 구하는 .length

 

 

 

* 응용

9번 라인에서 STUDENTS 대신에 scores.length를 사용해도 된다.

 

 

 

2. for-each

 

배열 안의 모든 데이터를 꺼내온다.

 

 

x[0] ~ x[9] 값을 하나씩 y에 저장해서 간편하게 사용한다.

 

배열의 끝(값이 저장되어 있지 않을때)까지

배열에 저장된 값을 하나 꺼내서 사용하고 다음걸 꺼내온다.

 

값을 저장하지 않아도 기본적으로 초기값이 설정되어 있다.

 

int형 -> 0

double -> 0.0

char -> ' ' (공백)

 

 

 

 

 

 

 

 

 

 

 

 

 

반응형