Chihiro's Blog
(JAVA 재수강) 7일차 - 배열 본문
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차원 배열은 육면체로 그릴 수 있다. 하지만 그 이상의 배열은 그림으로 나타내기 어렵다.
이차원 배열은 매우 일반적이지만 프로그램에서 다차원 배열은 조심해서 사용해야 한다. 여러 레벨에서 방대한 양의 정보를 다루게 되면 관리가 어려워진다
'프로그래밍 언어 > JAVA' 카테고리의 다른 글
웹개발 수업 2일차 (자료형, 연산자) (0) | 2019.07.12 |
---|---|
[웹개발] OT (0) | 2019.07.09 |
[JAVA 재수강] 6일차 - 제어문과 while / switch문 (1) | 2019.06.19 |
(JAVA 재수강) 5일차 - 제어문과 If 조건문 (1) | 2019.06.17 |
(JAVA 재수강) 4일차 - 연산자(1) (1) | 2019.06.14 |