9. 배열 ( array )
- 용도: 데이터 저장.
- 특징:
1) 참조형 데이터이다.
2) 참조형인 배열은 반드시 저장영역을
만들 때 new 를 이용한다. ( * )
3) 저장되는 메모리는 heap 이다.
4) 한번 생성된 배열은 크기 변경이 불가능하다.
( 크기를 늘리고 싶으면 배열을 다시 new 해야 한다. )
5) 배열에 저장되는 데이터는 기본형 및 참조형 모두 가능하다.
6) 1차원 및 다차원 배열 생성이 가능하다.
- 사용방법:
1) 배열 선언
- 문법: 데이터형 [ ] 배열명; // 배열명은 변수명과 동일하다.
// 기본형인 int 저장용도인 배열
int [ ] num; (일반적) or int num [ ];
* 구별해야 되는 것
int num; // num 의 데이터 타입? int, 기본형
num 의 저장될수 있는 값? int인 정수
int [ ] num2; // num2 의 데이터 타입? int [ ], 참조형
num2 의 저장될수 있는 값? 주소값
2) 배열생성 ( new 이용 )
- 문법: 배열명 = new 데이터타입 [ 크기 ];
num = new int [ 3 ];
// 크기 3을 가진 배열이 heap 메모리에 생성 된다.
// heap 에 생성되기 때문에 자동초기화가 된다.
3) 배열요소접근
- 문법: 생성된 배열의 인덱스(첨자) 사용해서 접근한다.
인덱스는 0부터 시작한다.
배열길이보다 항상 1이 작다. ( 0부터 시작하기 때문)
배열길이: 배열명.length;
배열명[인덱스];
num[0]; // 첫번째 요소 접근
System.out.println(num[0]);
System.out.println(num[1]);
System.out.println(num[2]);
//System.out.println(num[3]); // 없는 요소 접근시 예외 발생
// -> (java.lang.ArrayIndexOutOfBoundsException)
System.out.println(num.length); // >>> 3
package exam08_배열;
public class ArrayTest01_1차원배열 {
public static void main(String[] args) {
// 정수값 3개 저장하자. 10 20 30
// 1. 배열선언
// num 변수? 변수, 참조형변수, int 배열타입의 변수, 로컬변수(메서드안 - stack저장, 주솟값을 가짐)
int [] num;
// 2. 배열생성 ( new 이용 )
// 3개의 요소로 구성된 배열이 heap 메모리에 생성된다.( new 이용 -> heap 메모리 )
// 초기화하지 않으면 자동초기화됨. (ex) int 면 0 으로 초기화 )
num = new int[3];
// 한번에 선언 과 생성
// int [] num2 = new int[3];
// 3. 배열요소접근
System.out.println(num.length); // >>> 3
System.out.println(num[0]); // >>> 0 ( 0으로 자동초기화 )
System.out.println(num[1]); // >>> 0
System.out.println(num[2]); // >>> 0
// 4. 배열초기화
num[0] = 10;
num[1] = 20;
num[2] = 30;
System.out.println(num[0]); // >>> 10
System.out.println(num[1]); // >>> 20
System.out.println(num[2]); // >>> 30
//System.out.println(num[3]); // 없는 요소 접근시 예외 발생
// -> (java.lang.ArrayIndexOutOfBoundsException)
}// end main
}// end class
'[study]이론정리 > JAVA(eclipse)' 카테고리의 다른 글
java 4일차_02. 배열( 1차원배열(3) ) (0) | 2024.03.13 |
---|---|
java 4일차_02. 배열( 1차원배열(2) ) (0) | 2024.03.13 |
java 4일차_자바에서 데이터 저장방법 3가지 (0) | 2024.03.13 |
java 4일차_01. 제어문( 반복문_continue문 ) (0) | 2024.03.13 |
java 4일차_01. 제어문( 반복문_break문 ) (0) | 2024.03.13 |