728x90
반응형
변수는 1개의 데이터만 저장 할 수 있다.
하지만, 배열을 사용하게 되면, 많은 양의 데이터를 적은 코드로 손쉽게 처리 할 수 있다.
배열이란,
- 같은 타입의 데이터만 저장할 수 있다.
- int 배열은 int 값만 저장 가능
- String배열은 문자열만 저장 가능
- 데이터를 연속된 공간에 나열하고, 각 데이터에 인덱스를 부여해놓은 자료 구조
- 배열의 각 인덱스는 각 항목의 데이터를 읽거나 저장하는데 사용되며
- 배열 이름 옆에 대괄호[]에 기입 된다.
- 한 번 생성된 배열은 길이르르 늘리거나 줄일 수 없다.
- 인덱스는 0부터 시작 한다.
배열 변수 선언
배열의 변수 선은은 아래와 같이 타입[]변수; 또는 타입 변수[]; 로 선언하여 사용한다.
// 형식 1
// 타입[] 변수;
int[] intArray;
double[] doubleArray;
String[] strArray;
// 형식 2
// 타입 변수[];
int intArray[];
double doubleArray[];
String strArray[];
// 타입은 배열에 저장될 데이터의 타입 이다.
배열 변수는 참조 변수에 속한다.
배열도 객체이므로 힙 여역에 생성되고, 배열 변수는 힙영영의 배열 객체를 참조 한다.
null 값으로 초기화 가능하다.
타입[] 변수 = null;
배열 생성
값 목록으로 배열 생성하기
값의 목록이 있다면 아래와 같이 배열 객체를 생성할 수 있다.
타입[] 변수 = {값0, 값1, 값2, ...}; // 마지막에 ; 쓴다.
String[] names = {"홍길동", "김길동", "이길동"};
// 이렇게 생성된 배열은
// 홍길동 은 names[0] 에
// 김길동 은 names[1] 에
// 이길동 은 names[2] 에 읽어 올 수 있다.
//대입된 값을 변경하려면, 대입연산자를 이용하면 된다.
names[1] = "박길동";
배열 예시)
int[] scores = { 70, 85, 90 };
System.out.println("scores[0]: " + scores[0]);
System.out.println("scores[1]: " + scores[1]);
System.out.println("scores[2]: " + scores[2]);
System.out.println();
int sum = 0;
for (int i = 0; i < 3; i++) {
sum += scores[i];
}
System.out.println("총합: " + sum);
double avg = (double) sum / 3;
System.out.println("평균: " + avg);
배열 변수를 이미 선언한 후에는 다른 실행문에서 중괄호를 사용한 배열 생성이 허용 되지 않는다.
타입[] 변수;
변수 = {값0, 값1, 값2, ...}; -> 컴파일 에러가 난다.
아래와 같이 new연산자를 이용해서 생성해야한다.
String[] names = null;
names = new String[]{""홍길동", "김길동", "이길동"};
배열 예시2)
new 연산자로 배열 생성하기
현재 값의 목록을 같고 있지 않지만, 향후 값들을 저장할 배열을 미리 만들때 new 연산자로 배열 객체를 생성할 수 있다.
타입[] 변수 = new 타입[길이];
//길이는 배열이 저장할 수 있는 값의 개수 이다.
//이미 배열 변수가 선언된 경우에도 new연산자로 배열을 생성할 수 있다.
타입[] 변수 = null;
변수 = new 타입[길이];
아래의의 값은 int 배열의 길이만 선언 했기때문에 값은 0으로 초기화 되어있다.
//길이가 5인 int[] 배열
int[] intArray = new int[5];
아래의의 값은 String 배열의 길이만 선언 했기때문에 값은 null으로 초기화 되어있다.
//길이가 10인 String배열
String[] str = new String[10];
아래 사진은 타입별로 배열의 초기값이다.
배열 예시3) int 타입 배열 생성
배열 예시4) double타입 배열 생성
배열 예시5) String타입 배열 생성
※용어 정리
- 배열: 같은 타입의 데이터를 연속된 공간에 나열하고, 각 데이터에 인덱스(index)를 부여해놓은 자료 구조.
- 인덱스: 배열 항목에 붙인 번호. 0번 부터 시작하며 (배열의 길이-1) 까지의 범위를 갖는다.
본 내용은 #혼자공부하는자바 책을 참고해 공부하려 작성했습니다.
728x90
반응형
'Work & Study > JAVA (& 혼공자Java)' 카테고리의 다른 글
자바(Java) - 배열3 (0) | 2020.09.22 |
---|---|
자바(Java) - 배열2 (0) | 2020.09.22 |
자바(Java) - 참조 타입과 참조 변수2 (0) | 2020.09.20 |
자바(Java) - 참조 타입과 참조 변수1 (0) | 2020.09.19 |
자바(Java) - ★찍기2 (0) | 2020.09.19 |