[Java] 자바의 배열(Array)에 대한 간단한 이해


프로그램에서 사용되는 데이터는 일반적으로 소향의 데이터와 대량의 데이터로 구분될 수 있다. 소량 데이터 저장은 보통 변수를 사용하며 대량 데이터 저장은 배열 및 컬렉션을 사용한다.

♦ 자바의 배열
배열(Array)
배열의 특징
같은 데이터 형만 배열로 저장 가능하다.
기본 데이터 형과 참조 데이터 형 모두 배열로 저장 가능하다.
인덱스를 사용하여 배열의 각 요소에 접근할 수 있다. 인덱스는 0부터 시작한다.

배열 선언

데이터형[] 배열명;

브래킷 [] 을 사용하여 배열을 선언한다. 브래킷은 배열명 뒤에 올 수도 있지만 일반적으로 배열명 앞에 사용한다. 브래킷의 개수에 따라서 일차원배열, 이차원배열이 된다. 데이터 형은 기본형 데이터와 참조 형 데이터 모두 가능하다. 배열명은 변수 규칙을 따르고 배열명을 사용하여 데이터들을 접근할 수 있다.

 

배열 생성

배열명 = new 데이터형[크기];

new 키워드를 사용하여 지정한 크기만큼 배열을 생성한다. 즉 배열은 참조형 데이터에 속한다.

 

배열선언과 생성을 동시에

데이터형[] 배열명 = new 데이터형[크기];

 

배열 초기화

배열명[인덱스] = 값;

 

리터럴을 이용한 배열 생성

데이터형[] 배열명 = {값1, 값2, 값3}

배열선언, 배열생성, 배열 초기화 작업을 한번에 진행할 수 있다.

 

배열의 크기 알아내기

배열명.length;

생성된 배열을 접근하기 위해서는 인덱스를 이용한다. 배열의 크기는 length 속성을 이용하면 알 수 있다.


배열을 이용한 데이터 처리

public class Test {

	public static void main(String[] args) {
		int[] num;
		num = new int[4];

		num[0] = 1;
		num[1] = 2;
		num[2] = 3;
		num[3] = 4;

		for (int i = 0; i < num.length; i++) {
			System.out.println("값 : " + num[i]);
		}

		String [] name = {"서태웅", "강백호", "정대만"};

		for (int i = 0; i < name.length; i++) {
			System.out.println("값 : " + name[i]);
		}
	}
}

 

 

이차원 배열
배열 선언

데이터형[][] 배열명;

2개의 브래킷을 사용하여 배열을 선언한다.

 

배열 선언과 생성을 동시에

데이터형[][] 배열명 = new 데이터형[행크기][열크기];

 

배열 초기화

배열명[행인덱스][열인덱스] = 값;

 

배열요소 접근은 행인덱스와 열인덱스를 사용하여 접근한다.
행의 개수는 배열명.length 로 구하고 열의 개수는 배열명[행인덱스].length 로 구한다.

이차원 배열을 이용한 데이터 처리

public class Test {

	public static void main(String[] args) {
		
		int[][] num = { { 1, 2 }, { 3, 4 } };

		for (int i = 0; i < num.length; i++) {
			for (int j = 0; j < num[i].length; j++) {
				System.out.println("num[" + i + "][" + j + "] = " + num[i][j]);
			}
		}

		String[][] name = { { "서태웅", "정대만" }, { "강백호", "송태섭" } };

		for (int i = 0; i < name.length; i++) {
			for (int j = 0; j < name[i].length; j++) {
				System.out.println("name[" + i + "][" + j + "] = " + name[i][j]);
			}
		}
	}
}

 

 

향상된 for 문(for each 문)
향상된 for 문은 배열요소를 하나씩 검색해서 변수에 저장한다. 인덱스를 사용하지 않고 배열명만을 사용하기 때문에 인덱스를 잘못 사용해서 예외가 발생하는 위험을 피할 수 있다. 배열에 저장된 데이터 형과 변수의 데이터 형은 일치해야 한다.

for(데이터형 변수 : 배열명){
 ...
}

 

향상된 for 문은 이용한 데이터 출력

public class Test {

	public static void main(String[] args) {
		int[] num;
		num = new int[4];

		num[0] = 1;
		num[1] = 2;
		num[2] = 3;
		num[3] = 4;
		
		for (int i : num) {
			System.out.println("값 : " + i);
		}
	}
}

 

답글 남기기