728x90
반응형
배열
배열 : 데이터를 연속된 공간에 나열하고 각 데이터에 인덱스(Index) 부여한 자료구조
- 같은 타입의 데이터만 저장할 수 있음
- 한 번 생성된 배열은 길이를 늘리거나 줄일 수 없음 (단점) / ArrayList 사용
- 인덱스가 0번부터 시작
- 반복문과 함께 사용
배열 변수 선언
형식1 | 형식2 |
int [ ] intArray; | int intArray[ ]; |
double [ ] doubleArray; | double doubleArray[ ]; |
String [ ] strArray; | String strArray[ ]; |
참조할 배열 객체 없는 경우 배열 변수는 null값으로 초기화
ex) 타입[ ] 변수 = null;
배열 생성
- 값 목록으로 배열 생성 (리터럴)
타입 [ ] 변수 = { 값0, 값1, 값2, 값3, … }; (배열 값 : 배열 형태의 리터럴)
- 배열 변수 선언한 뒤에는 다른 실행문에서 값 목록으로 배열 생성 불가능
- 배열 변수 미리 선언한 후 값 목록이 나중에 결정되는 경우
- new 연산자 사용하여 값 목록 지정
변수 = new 타입[ ] {값0, 값1, 값2, 값3, … }
2. new 연산자를 이용해서 배열 생성
- 타입 [ ] 변수 = null;
변수 = new 타입[길이] - new 연산자로 배열 처음 생성할 때 배열은 자동적으로 기본값으로 초기화
ex) int[ ] scores = new int[30]; - 배열 생성 후 특정 인덱스 위치에 새 값 저장
배열 길이 : 배열에 저장할 수 있는 전체 요소수
int[] intArray = {10, 20, 30};
int num = intArray.length;
명령 라인 입력
- main( ) 메소드의 String[ ] args 매개변수
- args에 값을 넣을 경우
Run - Run Configurations - Arguments - Program arguments에 값 입력
여러 개 넣을 경우 : abc(공백)abcd(공백)abcde 공백을 넣어 값 여러 개 입력
다차원 배열
2차원 배열
- 행렬 구조
int [행(row)] [열(column)] scores = new int[2][3]; - 구현 방법 : 1차원 배열이 다시 1차원 배열을 참조
scores.length // 2 (배열 A의 길이)
scores[0].length; // 2
scores[1].length; // 3 - 계단식 구조
int [ ] [ ] scores = new int[2][ ];
scores[0] = new int[2]; {0, 1}
scores[1] = new int[3]; {0, 1, 2}
- 값 목록을 이용한 2차원 배열 생성
타입[ ] [ ] 변수 = { {값, 값2, … }, {값1, 값2, … } };
그룹 0 값 목록 그룹 1 값 목록
ex) int[ ] [ ] scores = { {95, 80}, {92, 96, 80} };
int score = scores[0][0]; -> 95
int score = scores[1][1]; -> 96
scores.length -> 2
scores[1].length -> 3 - 배열 복사
- for문을 이용해서 요소 하나 하나를 복사
- System.arraycopy( )를 이용한 복사
System.arraycopy(Object src, int srcPos, Object dest, int destPos, int length);
ex) System.arraycopy(arr1, 0, arr2, 0, arr1.length);
- 향상된 for문 : for(타입 변수 : 배열) {...}
- 배열이나 컬렉션을 좀 더 쉽게 처리
- 반복 실행 위해 루프 카운터 변수나 증감식 사용하지 않음
for(타입 변수 : 배열) {
실행문
}
열거 타입
상수 : 변하지 않는 값
- static final int a = 0; static final을 사용하여 상수처럼 사용
열거 타입 enum(enumeration)
- 열거 상수(한정된 값)를 저장하는 타입 (한정된 값을 갖는 타입)
- ex) Week.java
public enum Week { // 열거 타입 이름
MONDAY, TUESDAY, WEDNESDAY, THURSDAY, FRIDAY, SATURDAY, SUNDAY :열거상수
}
열거 타입 선언
- 소스파일(.java) 생성
728x90
반응형
'IT > 자바' 카테고리의 다른 글
자바 정리 - 인스턴스 멤버와 정적 멤버 (0) | 2021.11.30 |
---|---|
자바 정리 - 객체 지향 프로그램(OOP : Object-Oriented Programming) (0) | 2021.11.30 |
자바 정리 - 타입 (0) | 2021.11.30 |
자바 정리 - 반복문 (0) | 2021.11.30 |
자바 정리 - 연산자, 조건문 (0) | 2021.11.30 |
댓글