본문 바로가기
JAVA

[JAVA] # 07. 배열

by saniii 2020. 11. 5.

드. 디. 어. 시험 끝><><

이제 또 우당탕탕 올려야징ㄹ어리ㅏㄴ얼


# 배열

: 인덱스와 대응하는 데이터들로 이루어진 연속적인 자료 구조

: 같은 종류의 데이터들이 순차적으로 저장된다.

 

 

+ 배열의 선언 및 생성

1) 배열에 대한 레퍼런스 변수 생성

int intArray [];

int : 배열 타입

intArray : 배열에 대한 레퍼런스 변수

[ ] : 배열임을 선언

 

 

2) 배열의 저장공간 할당하여 배열 생성

intArray = new int [5];

intArray : 위에서 선언한 배열에 대한 레퍼런스 변수

new : 배열 생성

int : 생성하는 배열의 타입

[ 5 ] : 배열의 크기 (원소의 개수)

 

=> 1)과 2)를 한번에 선언할 수 도 있다.

이렇게

int intArray [] = new int [5];

 

※ 주의 사항

- 배열 선언 시 [ ]에 크기를 입력하면 컴파일 오류!

배열의 크기는 배열 생성할 때!!!

 

- 배열 선언시에 레퍼런스 변수와 [ ]의 위치는 바꿀 수 있다.

int intArray [];  //(O)
int [] intArray;  //(O)

 

- 배열의 인덱스는 음이 아닌 정수만 가능하다.

 

- 배열을 생성하지 않으면 값을 대입할 수 없다.

int showError []; //배열에 대한 레퍼런스만 생성
showError[1] = 6; //생성되지 않은 배열을 사용하였으므로 에러남

 

 

 

+ 배열의 초기화와 배열의 원소 다루기

 

- 배열의 초기화 

 

** 처음 배열을 int intArray [] = new int [5];  와 같은 식으로 하면

int 배열은 데이터가 0으로 초기화되고

String (문자열) 배열은 null로 초기화 된다.

 

** 배열을 생성하면서 데이터를 바로 입력하며 초기화 할 수도 있다.

이렇게

int intArray [] = {1, 3, 5, 7, 9};

이렇게 되면 자동으로 배열의 크기는 5가 된다.

 

 

- 배열의 인덱스

: 배열의 인덱스는 0부터 시작한다.

 

즉, 배열의 크기를 5로 지정하여 생성했을 때,

가장 먼저 저장되는 데이터의 인덱스는 0

그 다음 순차적으로 1, 2, 3, 4가 된다.

1 3 5 7 9
intArray [0] intArray [1] intArray [2] intArray [3] intArray [4]

 

 

- 배열의 인덱스 다루기

 

배열의 각 인덱스에 개별적으로 접근할 수 있다.

원하는 위치의 인덱스를 지정해서 변수에 데이터 집어넣듯이 하면 된다.

만약 3번째 칸의 데이터 5를 13으로 바꾸고 싶다면

intArray [2] = 13;

이라고 하면 끝!!

별거 없다.

 

 

또한 배열에 저장된 데이터를 변수에 저장할 수도 있다.

1 3 13 7 9
intArray [0] intArray [1] intArray [2] intArray [3] intArray [4]

배열의 4번째에 있는 데이터를 변수 a에 저장하고 싶다면

int a = intArray[3];

하고 하면 된다.

물론 데이터 형은 당연히 일치해야 한다.

 

너ㅓㅓ무 쉽다.

 

 

 

+ 배열의 크기

 

배열의 크기를 알아내고 싶을 때 length 를 사용한다.

int size = intArray.length;

그럼 변수 size에는 5가 대입된다.

 

언제 주로 쓰냐면 보통 for문에서 배열의 크기만큼 (배열 인덱스 전체를) 

순환할 때 사용하는 듯

for(int i=0; i<intArray.length; i++){
	intArray[i] = i+1;
}

뭐 이런식으로 그럼 보다 쉽고 깔끔하게 배열을 초기화 할 수 있다.

 

 

 

 

 

+ 다차원 배열 (2차원 배열)

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

'JAVA' 카테고리의 다른 글

[JAVA] # 09. 상속  (0) 2020.11.12
[JAVA] # 08. 클래스와 객체  (0) 2020.11.11
[JAVA] 06. continue + break  (0) 2020.10.05
[JAVA] 04. Scanner + 자바 입력  (0) 2020.09.25
[JAVA] 03. 조건문 if + if-else + switch  (0) 2020.09.25

댓글