자바에서 데이터를 저장하는 3가지 방법이 있다.
변수, 배열, 컬렉션
변수는 이전에 글로 봤을 것이다.
변수는 데이터 하나만 저장이 가능하며
데이터의 개수만큼 변수가 필요하다.
두 번째는 배열이다.
배열은 변수와 다르게 여러 개의 값을 저장할 수 있다.
하지만 크기변경이 불가하며
배열에 저장되는 데이터형은 동일해야한다.
배열 자체는 참조형이고 저장되는 데이터는
기본형도 되고 참조형도 가능하다.
마지막으로 컬렉션은
나중에 올리는 글에 다시 언급을 하겠다.
배열(array)
용도: 데이터 저장
특징: 참조형 데이터이다.
참조형인 배열은 반드시 저장영역을 만들 때 new 이용한다. (중요)
저장되는 메모리는 heap이다.
한번 생성된 배열은 크기 변경이 불가능하다. ( 크기를 늘리고 싶으면 배열을 다시 new 해야 된다. )
배열에 저장되는 데이터는 기본형 및 참조형 모두 가능하다.
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이 작다.
배열길이: 배열명. length
4) 배열요소 접근 방법
가. 직접 인덱스 지정
예> num [0]
==> 접근할 요소가 많으면 비효율적임.
나. (일반) for문 이용
예>
for(int idx=0; idx < num.length; idx++){
System.out.println( num [idx] );
}
==> 단점은 조건을 잘못 지정하면 예외가 발생된다.
배열과 함께 쓰면 조금 더 좋은 for문이 있다.
이는 foreach문이라 하며
향상된 for문이라고도 불린다.
이것은
향상된 for문 ( foreach 문 )
문법:
for(변수: 배열명 ){
}
예> for( int n : num ){
System.out.println(n);
}
이렇게 쓰이며
안의 조건식에 따라
for문을 쓰기 좋다.
마지막으로
위에선 배열을 쓰기 위하여
new
라는 키워드를 사용해야 한다 말하였다.
하지만 new를 사용하지 않고 쓸 수 있는데
이것을 new와 비교해서 설명해 보겠다.
new 이용한 방법 이외의 방법 2가지 살펴보자
1) new 이용
예> int [] num;
num = new int [3];
num [0]=10;
num [1]=20;
num [2]=30;
2) 리터럴(값) 이용 ( ************ )
문법:
데이터형 [] 배열명 = { 값, 값 2, 값 3,.... };
예> int [] num = {10, 20, 30};
특징: 한 번에 구현해야 된다.
int [] num;
num = {10, 20, 30}; // 에러 발생
3) new + 리터럴 혼합 형태 ( *********)
문법:
데이터형 [] 배열명;
배열명= new 데이터형 []{ 값, 값 2, 값 3,.... };
예> int [] num;
num = new int []{10, 20, 30};
이런 형태로 배열을 만들 수 있으며
앞으로의 코딩에 도움이 되길 바란다.
'JAVA언어의 기초' 카테고리의 다른 글
JAVA - 클래스 (0) | 2024.03.26 |
---|---|
JAVA - 2차원 배열 (2) | 2024.03.25 |
JAVA - 반복문 (0) | 2024.03.20 |
JAVA - 조건문 (0) | 2024.03.19 |
JAVA - 연산자 (0) | 2024.03.18 |