JAVA/자바의 정석

[자바의 정석 - 기초편] 5. (1) 배열 ( 선언 / 인덱스 / 길이 / 초기화 / 출력 )

서영22 2023. 11. 26. 03:02

배열 

같은 타입여러 변수하나의 묶음으로 다루는 것

 

 

 배열의 선언과 생성 

타입 [ ]   변수이름 ;                     // 배열 선언 ( 배열을 다루기 위한 참조변수 선언 )
변수이름 = new 타입 [ 길이 ] ;    // 배열 생성 ( 실제 저장공간 생성 )


int [ ]   score ;                      // int 타입의 배열을 다루기 위한 참조변수 score 선언
score = new  int [ 5 ] ;         // int 타입의 값 5개를 저장할 수 있는 배열 생성

 

선언 방법 선언 예
타입 [ ]  변수이름 ; int [ ]   score ;
String [ ]   name ;
타입 변수이름 [ ] ; int   score [ ] ;
String   name [ ] ;

 

 

 

 배열의 인덱스 (Index) 

저장공간 요소에 자동으로 붙는 일련 번호

 

인덱스 범위 : " 0 ~ (배열 길이 -1) "

 

 

< 사용 순서 >

1. int [ ]  score  =  new  int [5] ;   // 길이가 5인 int 배열 생성

score [ 0 ] score [ 1 ] score [ 2 ] score [ 3 ] score [ 4 ]
0 0 0 0 0

 

2. score [3] = 100 ;   // score의 4번째 요소에 100 저장

score [ 0 ] score [ 1 ] score [ 2 ] score [ 3 ] score [ 4 ]
0 0 0 100 0

 

3. int value = score [3] ;   // score의 4번째 요소의 값을 value에 저장

 

 

 

 배열의 길이 

배열이름.length - 배열의 길이 ( int형 상수 )

 

배열은 한번 생성하면 실행하는 동안 그 길이를 바꿀 수 없음

- why? 연속된 저장공간이기 때문에 늘이려는데 옆에 공간이 없다면 불가능

- 바꿨는데 공간이 부족하면 새로 만들어서 기존의 내용 복사

 

int [ ]  arr = new  int [ 5 ] ;    // 길이가 5인 int 배열
int  tmp = arr.length ;         // arr.length 값은 5이고 tmp에 5 저장

 

 

 

 배열의 초기화 

배열의 각 요소에 처음으로 값을 저장하는 것

< 선언 방법 >

1. int [ ]  score = new  int [ ] { 50, 60, 70, 80 };
2. int [ ]  score = { 50, 60, 70, 80 };

 

 

 

 배열의 출력 

1. for문

2. Arrays.toString(이름)

3. (char일 때만) 이름

 

배열 출력하는 방법

 

 

Quize 1. )  1~10 순서대로 배열 & 임의의 난수 배열 출력