본문 바로가기
IT Programming/Java

[Java] 09. 배열 기초 1강/ 배열선언부터 초기화까지

by Euniieunii 2023. 3. 27.

프로그램이 실행되는 동안 데이터는 메모리에 저장되어 사용되어 지는데 이 메모리들이 중구난방 규칙성이 없고 여기저기 흩어져 있다면 효율적으로 프로그램을 사용하기도 어렵고 복잡해지는 일이 발생할 수 있다.

이러한 이유로 메모리에 저장된 값을 효율적으로 저장하고 사용하는 방법인 "배열"이 있는 것이다.

배열 : 같은 타입의 데이터를 메모리의 연속된 공간에 저장하는 특징이 있고 타입이 같은 데이터 그룹을 나열해 놓고 다루기 편하게 하기위해서 만들어 놓은 자료구조 이다.

배열로 나열이 되어있는 자료구조라면, "배열이름"과 "인덱스" 만 알면 모든 데이터에 접근이 가능하다.

 

배열 이름 : 기준이 되는 시작 주소
인덱스 : 데이터가 나열된 순번을 나타내는 위치 정보 (0부터 시작해 배열의 크기만큼 정해져 있다.)

01) 배열 생성 및 배열 변수 선언하기

[ 자바로 배열을 구현하는 단계 ]

1. 배열을 메모리에 생성한다.
2. 생성된 배열의 시작 주소를 변수에 저장한다.
3. 인덱스를 이용해 각 요소에 접근한다.

배열을 생성할 때는 new 연산자 다음에 데이터 타입을 적고 배열길이를 나타내는 요소(element)들의 수를 [ ] 안에 지정한다.

 

//배열 생성하기
new 데이터타입 [요소 수] ;

//배열 생성 예시 -> String 타입 데이터 4개 저장할 배열
new String[4];

이렇게 배열이 생성되면 생성한 배열을 우리가 접근할 수 있는 방법을 만들어줘야 비로소 배열을 이용할 수 있다.

그렇다면 접근할 수 있는 방법은?

“배열 변수”를 선언하면 된다.

배열의 주소를 담을 변수가 배열 변수이다. 이것은 배열의 이름을 붙여주고 배열의 시작 주소를 담으면 된다.

 

//배열 변수 선언하기
데이터 타입[ ] 변수명; 
//또는
데이터 타입 변수명 [ ]

//생성과 선언 예시
String[ ] hello = new String[4]; // 크기 4의 빈 배열선언 및 생성 동시에 하기

String[ ] hello;
hello = new String[4]; // 배열 선언 후 크기 4의 빈 배열 생성

여기서 [ ] 는 배열의 주소를 저장할 수 있음을 나타내는 기호이다.

[ ] 는 데이터 타입 다음에 적어주어도 되고, 변수명 다음에 작성을 하여도 무방하다.

배열 선언과 생성은 동시에 할 수 있고, 선언을 먼저하고 생성을 할 수도 있다.

 

+ 배열의 주소를 나타낼 때는 데이터가 나열된 순번을 인덱스 index 라는 번호로 나타내는데, 0부터 시작하며 계산한다는 것을 유의해야한다.


02) 배열에 접근하고 초기화하기

배열을 생성하고 선언까지 했다면 사용만 하면 된다. 배열의 이름과 인덱스를 이용해서 접근하여 사용하면 된다.

//배열에 접근하기
배열 변수명[ ];

//접근 예시

hello[1]; //hello가 참조하는 배열에서 1번 인덱스 값 가져오기

hell0[1] = 123;
int num = hello[1]; // num변수에 hello 배열의 1번 인덱스 값인 123을 대입한다.
// 즉 num변수에는 123이 저장된다.

 

위의 방법과 예시처럼 배열을 생성하고 선언했다면 접근하는 방법은 간단하다. 다음은 또 다른 예제이다.

 

// 배열 요소에 접근하는 방법 1: 인덱스를 사용하여 접근
int[] arr = {1, 2, 3, 4, 5};
int firstElement = arr[0];  // 첫 번째 요소에 접근
int secondElement = arr[1];  // 두 번째 요소에 접근

// 배열 요소에 접근하는 방법 2: for-each 구문을 사용하여 접근
for(int element : arr) {
    System.out.println(element);  // 각 요소를 출력
}

03) 배열의 길이 찾기

배열의 길이는 "배열.length" 로 찾을 수 있다

//배열의 길이
//배열의 길이는 .length 로 구한다.
int[] arr = new int[10];
int a = arr.length; // a = 10, 배열의 길이는 10

04) 배열 출력하기

for문 활용하기

//배열을 출력하는 방법
//for문 활용하기

int[] intArr = {1,2,3,4,5};
for(int i=0; i < intArr.length; i++;){
		System.out.println(intArr[i]);
}

댓글