컴퓨터 관련/JAVA 강의

java #17 배열(array)

승명 2016. 12. 18. 19:47

java #17 배열(array)

 
* 배열(Array)

- 참조형 데이터형 사용
- 고정길이형(크기가 설정되면 늘리거나 줄일수없다.)
- 메모리에 동일 데이터형으로 나열해서 사용
- 일차원, 이차원, 삼차원, 가변배열을 제공한다.
- 모든 데이터형으로 배열을 생성할 수 있다.

배열
종류
특성사용법값 할당값 사용
1



- 열로 구성된 배열
- 방의 갯수는 배열명.length로
 얻을 수 있다.
1. 선언 : 데이터형[] 배열명=null;
           데이터형 배열명[]=null;

2. 생성 : 배열명 = new 데이터형[방의 갯수];
              arr=new int[4];
              => 모든 방의 값이 초기화된다.

int
0
int
0
int
0
int
0
#   0           1          2           3  
(배열의 인덱스, 방의 번호)
방, element, 요소

배열명[방의번호]=값;
arr[0]=10;
arr[1]=20;


※ 생성+값 할당
데이터형[] 배열명={값, ....};

int arr={10,20,30,40,50};
1020304050
#  0         1        2       3         4
배열명[방의 번호]
S.o.p(arr[0]);

- 모든 방의 값 사용
for(int i=0;i<arr.length;i++){
S.o.p(arr[i])
}
2



- 행과 열로 구성됨
- 모든 행의 열의 갯수는 같다.
- 행의수 : 배열명.length
- 열의수 : 배열명[행번호].length
1. 선언
데이터형[][] 배열명=null;
데이터형 배열명[][]=null;

2. 생성
배열명 = new 데이터형[행의수][열의수];
arr = new int[2][3];
           
arr[0][0]
10
arr[0][1]
0
arr[0][2]
0
arr[1][0]
0
arr[1][1]
20
arr[2][2]
0

배열명[행번호][열번호]=값;
arr[0][0]=10;
arr[1][1]=20;

※ 생성+값 할당
데이터형 [][] 배열명 = {{값1,값2,값3},{,,,}}
배열명[행번호][열번호]
S.o.p(arr[0][0]);

모든방 출력>
for(int i=0;i<배열명.length;i++){
for(int j=0;j<배열명[i].length;j++){
S.o.p(배열명[i][j]);
3



-면,행,열로 구성되는 배열
-면의 수: 배열명.length
-행의 수: 배열명.[면의번호].length
-열의 수: 배열명.[면의번호][행의번호].length
1. 선언
데이터형[][][] 배열명=null;
데이터형 배열명[][][]=null;
int [][][] arr=null;

2. 생성
배열명=new 데이터형[면의수][행의수][열의수];
arr=new int [2][2][3];

[0][0][0]
10
[0][0][1]
0
[0][0][2]
0
[0][1][0]
0
[0][1][1]
0
[0][0][2]
0

[1][0][0]
0
[1][0][1]
0
[1][0][2]
0
[1][1][0]
0
[1][1][1]
0
[1][1][2]
20

배열명[면의번호][행의번호][열의번호]=값;
arr[0][0][0]=10;
arr[1][1][2]=20;

※ 생성+값 할당
데이터형 [][] 배열명 = {{{값1,값2},{값3,값4}},{{,,,},{,,,}}}
int[][][] arr={,,,,} // 면구분괄호, 행구분괄호
배열명[면의번호][행의번호][열의번호]
arr[0][0][0] -> 10

*모든 방의 값 출력
for(int i=0;i<배열명.length;i++){//면
for(int j=0;j<배열명[i].length;j++){//행
for(int k=0;k<배열명[j].length;k++){//열
S.o.p(배열명[i][j][k]);
}
}
}



- 행마다 열의 갯수가 다른 배열
- 이차원 배열처럼 생성하되
열의 갯수를 설정하지 않는다.
- 행의 갯수 : 배열명.length
- 열의 갯수 : 배열명[0].length
1. 선언
데이터형 [][] 배열명=null;
int[][] arr=null;

2. 생성
열의 갯수를 설정하지 않는다.
배열명=new 데이터형[행의수][];
arr=new int[3][];

3. 행마다 열을 생성해야함(각 열의 값이 초기화된다.)

배열명[행의번호]=new 데이터형[열의수]
arr[0]=new int[3];
arr[1]=new int[4];
arr[2]=new int[1];
arr[3]=new int[5];

0,00,10,2
1,01,11,21,3
2,0
3,03,13,23,33,4
배열명[행의번호][열의번호]=값;
arr[0][1]=20;


배열명[행의번호][열의번호]

* 모든 방의 값 출력
for(int i=0;i<배열명.length;i++){//행
for(int j=0;j<배열명[i].length;j++){//열
s.o.p(배열명[i][j]);
}
}