Notice
Recent Posts
Recent Comments
Link
«   2025/02   »
1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28
Tags
more
Archives
Today
Total
관리 메뉴

Chihiro's Blog

(JAVA 재수강) 7일차 - 배열 본문

프로그래밍 언어/JAVA

(JAVA 재수강) 7일차 - 배열

ChihiroVega 2019. 6. 27. 11:32

Array 배열, 이차 배열, 다중 배열

 

배열의 선언

 

Java에서 배열은 객체이다. 배열을 생성학 위해서는 배열을 반드시 선언해야 한다.

 

int[] height = new int[11];  or int height[] = new int[11];

 

변수 height 는 정수의 배열(int[])로 선언되었다. height 배열은 height[0] ~ height[10] 까지의 11개의 정수를 저장할 수 있다.

정수형 배열의 각 인덱스는 기본적으로 0 으로 초기화 된다. (String 배열은 null 이다)

여기서 만약 height[11] 과 같이 배열의 범위를 벗어나면 ArrayIndexOutOfBoundsException이 발생한다.

 

Java 배열의 크기는 length 를 사용하여 확인 할 수 있다.

 

height.length  는 11이다. 따라서 height 배열의 마지막 인덱스는 height[height.length-1] 이 된다.

 

배열은 선언시 다음과 같이 초기화할 수 있다.

 

char[] alphabet = {'A', 'B', 'C', 'D'};

 

String[] words = new String[4];

 

위와 같이 선언하면 String 객체를 4개 담고 있는 배열이 선언된다. 하지만 배열의 각 공간에 String 객체를 생성하지는 않는다.

단지 String 객체의 참조들을 저장하기 위한 배열을 생성할 뿐이다.


가변 길이 매개변수 리스트

 

어떤 메쏘드가 매개변수로 배열을 받아 처리한다고 한다. 하지만 이 배열의 길이가 고정된 것이 아니라고 하자.

 

이럴때는 아래와 같이 두가지 방법으로 배열을 매개변수로 넘길 수 있다.

위 두가지 결과는 모두 같다.

 

String...names 와 String[] names  모두 같은 방법으로 String[] 배열을 매개변수로 넘기는 방법이다.


이중 배열

 

위의 배열들은 모두 값들의 간단한 리스트를 나타내는 일차원 배열이다.

이차 배열은 보통 테이블의 행과 열로 생각할 수 있는 이차원으로 값을 가지게 된다.

 

int[][] table = new int[5][10];

 

위의 table 배열은 5행 10열의 배열이다. 10개 짜리 배열이 5개 있다고 생각하면 된다.

배열은 아래와 같다.

 

이차 배열의 초기화는 다음과 같이 할 수 있다.

 

int[][] table = { {1,2,3,4,5,6,7,8,9,10},
                  {2,3,4,5,6,7,8,9,10,1},
                  {3,4,5,6,7,8,9,10,1,2},
                  {4,5,6,7,8,9,10,1,2,3},
                  {5,6,7,8,9,10,1,2,3,4} };

 

table.length 를 호출하면 5가  나올 것이고,  table[0].length 를 호출하면 10이 반환된다.


5. 다중 배열

 

하나의 배열은 2, 3, 혹은 그 이상의 차원을 가질 수 있다. 이차원 이상을 갖는 배열을 다차원 배열이라고 한다.

3차원 배열은 육면체로 그릴 수 있다. 하지만 그 이상의 배열은 그림으로 나타내기 어렵다.

이차원 배열은 매우 일반적이지만 프로그램에서 다차원 배열은 조심해서 사용해야 한다. 여러 레벨에서 방대한 양의 정보를 다루게 되면 관리가 어려워진다