JAVA/JAVA 기본

JAVA 배열

엔테아 2017. 10. 11. 18:39

배열(Array)

메모리에 동일한 자료형의 데이터를 이웃하여 관리하는 기술

배열은 '반복문을 사용하기 위한 기술'

 

배열 선언 방법

[][][]

1. 자료형[] 배열명 = new 자료형[배열의 크기];

ㄴ배열의 값은 모르고, 배열의 크기를 알고 있을 때

2. 자료형[] 배열명 = {값1, 값2, 값3};

ㄴ배열의 값이 불규칙적이어서, 직접 타이핑해야할 때

3. 자료형[] 배열명 = new 자료형[]{값1, 값2};

ㄴ배열의 값이 불규칙적이어서, 직접 타이핑해야할 때

0

1

2

3

4

-상기 번호가 인덱스 

배열의 요소가 저장된 곳에는 번호가 매겨지는데, 이를 인덱스라고 함.

인덱스는 0번부터 시작하여 배열 크기 -1까지 매겨짐.

최대 인덱스 값 = 배열의 크기-1

이는 인덱스값이 0부터 시작하기 때문.

 

for(int i = 0; i < arrInt1.length; i++)

식으로 반복문 이용할 것.

length의 의미는 배열의 '크기'

 

배열의 요소값에 접근하려면

배열명[인덱스]

 

배열명[idx] = 자료형에 맞는 값;

으로 특정 인덱스에 값을 넣을 수 있음.

 

다차원 배열

2차원 배열에서 for문을 사용하면 1차원 배열이 들어있음.

int a 는 점

1차원 배열은 선

2차원 배열은 면

3차원 배열은 공간

 

int[][] arr = new int[3][2];

1차원 배열에 요소 2개

2차원 배열에 배열 3개

 

boolean[][][] arr1 = new boolean[4][2][5];

1차원 배열에 요소 5개 = 사람 5명

2차원 배열에 배열 2개 = 방 2개

3차원 배열에 배열 4개 = 4층짜리 건물

 

'4'층짜리 건물 배열에

각 층마다 '2'개의 방이 있고

각 방마다 '5'명의 사람이 있다.

 

이하 가변형 배열

 

 public void me5() {
  int[][] arr = new int[2][];
  arr[0] = new int[] {1, 2, 3};
  arr[1] = new int[] {0};

 

foreach문

ㄴ 개선된 루프, 향상된 루프, 개선된 for문, 향상된 for문 등으로 불리움.

 

for(n-1차원배열 변수명 : n차원배열의변수명){

}

int[] arr

for(int x : arr){

sysout(x)

}

위 sysout은 sysout(arr[i]) 같은 기능을 함

 

int[][] arr

for(int[] x : arr){

for(int y : x){

}

}

 

int[][][] arr

for(int[][] x : arr){

for(int[] y : x){

for(int z : y){

 

}

}

}

 

배열을 사용할 때

1. 변수를 이용해서 반복문을 사용하려할 때

2. 여러 개의 데이터를 반환하려할 때

3. 객체가 같은 자료형의 객체를 소유하고 있음을 표현하고 싶을 때.