7. Array
(1) 정의
1) 많은 양의 데이터를 다루기 위한 방법(변수를 줄이기 위해)
2) 같은 이름으로 정의된 연속적인 메모리 공간
int kor1, eng1, mat1;
int kor2, eng2, mat2;
int kor3, eng3, mat3;
int[] a1, a2, a3;
//배열은 반복문을 사용할 수 있음
(2) 문법
1) 자바에서는 배열을 객체(=클래스)로 취급한다.
int[] a1 = new int[3];
int[] a2 = new int[3];
int[] a3 = new int[3];
//a1 참조변수 -> 인스턴스 해서
(3) 활용
1) 검색
- Sequential Searching -순차검색
- Binary searching - 이분 검색
데이터의 중간위치를 구한다
해당 데이터가 찾고자 하는 데이터인지 확인.
For(int row=0; row<data.length-1; row++){
For(int col = row+1; col<data.length; col++){
If(data[row] < data[col]) // {
Int temp = data[row];
Data[row] = data[col];
Data[col]
}
}
}
2) 정렬 (오름차순,내림차순)
(1) Swap algorithm(교체 알고리즘)
Int a = 10, b=5, c; //동시처리가 안되므로 변수 하나 더 생성
C=a;
A=b;
B=c;
(2) 선택정렬 :기준을 하나 선택해서 정렬해 나가는 것
데이터 중 기준 선정하기(최대값/최소값, 맨끝)
->데이터값이아닌 위치를 기준
(3) 버블정렬 :서로 이웃하는 것끼리 정렬
(4) 삽입정렬
(4) 다차원 배월( 2차원 이상의 배열)
1) 1차원 배열 :각각의 변수를 한 줄로 된 연속적인 공간
2) 2차원 배열 : 1차원 배열을 하나로 합친 것
3) 3차원 배열 : 2차원 배열을 하나로 합친 것
4) 1차원 배열과 다차원 배열의 차이
- 1차원 배열 :값에 직접 접근방식 (메모리에 접근)
- 다차원 배열 :주소(참조)에 의한 간접 접근
Int[] a1 = new int[3];
Int[] a2 = new int[3];
Int[] a3 = new int[3];
Int[][] = mew int[3][3];
(5) 불규칙 배열 (다차원 배열) ->동적 바인딩
Char[] name1 = {‘T’, ‘o’,‘m’};
Char[] name2 = {‘J’, ‘a’,‘n’, ‘e’};
Char[] name3 = {‘J’, ‘o’,‘h’, ‘n’, ‘s’, ‘o’, ‘n’};
Char[] name4 = {‘홍’, ‘길’,‘동’};
Char[][] names = new char[4][7];
Names[0] = new char[3];
Names[1] = new char[4];
Names[2] = new char[7];
Names[3] = new char[3];
(6) String
1) java.lang
2) 자바는 문자열을 객체로 취급한다.
3) 동일한 문자열(인스턴스)을 중복해서 생성하지 않는다.
->메모리 낭비를 하지 않는다.
단 new를 통해서 생성할 경우 강제로 인스턴스 생성
4)절대 수정 불가(읽기 전용)
5) StringBuffer 수정 가능
(7) CommandLine Argument(명령행 인자)
프로그램 실행할 때 넘어가는 인자.
*Scanner
- java.util
알맹이 기능이 없고 다른 클래스의 도움을 주는 역할을 한다.
1차원배열은 노가다필요. 2차원배열은 가독성이 떨어짐.
데이터 보관 원초적인 방법
1) 변수화
장점 :쓰기편함
단점 :많은 양의 데이터 저장 x
2) 배열
장점 :많은 양의 데이터를 저장 가능
단점 :크기 정해야함( 많이 ->낭비/적음 ->부족)
같은 형식 ( 정수는 정수끼리 , 실수는 실수끼리)
삽입, 삭제 거이 불가능(데이터가 많으면 많을수록 불가능)
'Java' 카테고리의 다른 글
[JAVA 정리] 9. 클래스3 (0) | 2017.06.24 |
---|---|
[JAVA 정리] 8. 클래스2 (0) | 2017.06.24 |
[JAVA 정리] 6. 매서드 (0) | 2017.06.24 |
[JAVA 정리] 5. 클래스1 (0) | 2017.06.24 |
[JAVA 정리] 4. 제어문(Control Statement) 조건문, 반복문, break문, continue문 (0) | 2017.06.24 |