java #17 배열(array)
* 배열(Array)
- 참조형 데이터형 사용
- 고정길이형(크기가 설정되면 늘리거나 줄일수없다.)
- 메모리에 동일 데이터형으로 나열해서 사용
- 일차원, 이차원, 삼차원, 가변배열을 제공한다.
- 모든 데이터형으로 배열을 생성할 수 있다.
배열 종류 | 특성 | 사용법 | 값 할당 | 값 사용 | |||||||||||||
1 차 원 배 열 | - 열로 구성된 배열 - 방의 갯수는 배열명.length로 얻을 수 있다. | 1. 선언 : 데이터형[] 배열명=null; 데이터형 배열명[]=null; 2. 생성 : 배열명 = new 데이터형[방의 갯수]; arr=new int[4]; => 모든 방의 값이 초기화된다.
# 0 1 2 3 (배열의 인덱스, 방의 번호) 방, element, 요소 | 배열명[방의번호]=값; ※ 생성+값 할당 데이터형[] 배열명={값, ....}; int arr={10,20,30,40,50};
# 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[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];
| 배열명[면의번호][행의번호][열의번호]=값; 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];
| 배열명[행의번호][열의번호]=값; arr[0][1]=20; | 배열명[행의번호][열의번호] * 모든 방의 값 출력 for(int i=0;i<배열명.length;i++){//행 for(int j=0;j<배열명[i].length;j++){//열 s.o.p(배열명[i][j]); } } |
'컴퓨터 관련 > JAVA 강의' 카테고리의 다른 글
java #19 내부클래스, 중첩클래스, 지역클래스, 익명클래스 (0) | 2016.12.18 |
---|---|
java #18 개선된 for문 (0) | 2016.12.18 |
java #16 문자열, String클래스 메소드 (0) | 2016.12.18 |
java #15 interface, 추상클래스 (0) | 2016.12.18 |
java #14 다형성, 오버로드(overload), 오버라이드(override), Annotation (0) | 2016.12.18 |