배열
- 배열은 같은 타입의 데이터만 저장 가능
- 한 번 생성된 배열은 길이를 늘리거나 줄일 수 없음
//배열 선언
타입[] 변수;
//또는
타입 변수[];
값 목록 배열 생성하기
- 값 목록을 이용한 배열 생성은 변수 선언과 동시에 하거나 변수 먼저 선언했다면 new로 값 목록을 지정해줘야함
- 메소드의 매개값으로 값 목록 배열 생성할때도 new 사용해야함
//배열 선언과 동시에 값 목록 지정
타입[] 변수 = {값0, 값1, 값2, ...};
//배열 선언 후 new로 값 목록 지정
타입[] 변수;
변수 = new 타입[] {값0, 값1, 값2, ...};
//메소드 메개값으로 사용
int result = add(new int[] {10, 11, 12});
길이만 정해진 배열 생성하기
타입[] 변수 = new 타입[길이];
// 배열 선언후 new로 배열 생성
타입[] 변수;
변수 = new 타입[길이];
- 길이만 있는 배열은 기본값으로 초기화됨
정수 기본타입 | byte[ ] char[ ] short[ ] int[ ] long[ ] | 0 ’\u0000’ 0 0 0L |
실수 기본타입 | float[ ] double[ ] | 0.0F 0.0 |
논리 기본타입 | boolean[ ] | false |
참조 타입 | 클래스[ ] 인터페이스[ ] | null |
String 배열 생성
// 한번에 생성
// 일반 배열 생성 방법과 똑같음
String strArr[] = new String[배열길이];
String[] arguments; // 배열 참조 변수를 String클래스형만 명시하고 선언
arguments = new String[3]; // new연산자로 배열 객체 생성 및 크기 지정
// 이때 new연산자가 반환하는 참조값이 arguments에 저장됨
arguments[0] = "10";
arguments[1] = "20";
arguments[2] = "30";
main함수의 String[ ] args
- 명령프롬프트에서 main함수를 java명령어로 실행하면 JVM은 길이가 0인 String배열을 먼저 생성하고 main메소드의 String배열 참조변수인 args를 매개값으로 전달함.
- main함수는 args매개변수를 통해 명령프롬프트에서 입력된 데이터와 개수를 알 수 있음
# 프로젝트/bin 폴더에서 실행
java 모듈명.클래스명 값1 값2 ...
다차원 배열
타입[][] 변수 = new 타입[행 길이][열 길이]
- 배열 변수는 행 길이를 가지는 배열을 참조하고 배열 A의 각 자리는 열 길이를 가지는 배열을 참조함 → 1차원 배열이 서로 연결된 구조
- 각 행마다 길이가 다른 열 참조 가능 → 배열의 정확한 길이를 알고 사용해야함
int[][] scores = new int[2][];
scores[0] = new int[2];
scores[1] = new int[3];
- 다차원 값 목록 생성하기
타입[][] 변수 = {{값1, 값2, ...}, {값1, 값2, ...}, ...};
배열 복사
System.arraycopy(Object src, int srcPos, Object dest, int destPos, int length)
- src : 원본 배열
- srcPos : 원본 배열에서 복사 시작 인덱스
- dest : 새 배열
- destPos : 새 배열에 붙여넣을 시작 인덱스
- length : 복사할 개수
참조타입 배열에서 새 배열로 복사할 경우 원소 객체의 참조값이 복사됨
배열 객체 반환하는 메서드는 메서드의 반환형에 배열 타입 명시
//...
static int getMin(int[] a) {
//...
return value;
}
'Java' 카테고리의 다른 글
Java 기초 문법(8) (0) | 2023.12.20 |
---|---|
Java 기초 문법(6) (0) | 2023.12.20 |
Java 기초 문법(5) (1) | 2023.12.20 |
Java 기초 문법(4) (0) | 2023.12.20 |
Java 기초 문법(3) (0) | 2023.12.20 |