728x90
배열
“배열은 같은 타입의 여러 변수를 하나의 묶음으로 다루는 것”
중요한 것은 “같은 타입”이어야 한다는 것이며, 서로 다른 타입의 변수들로 구성된 배열은 만들 수 없다.
int score1, score2, score3, score4, score5
// 위의 코드를 아래과 같이 변경할 수 있다.
int[] score = new int[5]; // 5개의 int 값을 저장할 수 있는 배열을 생성한다.
배열의 생성
배열을 선언하는 것은 단지 생성된 배열을 다루기 위한 참조 변수를 위한 공간이 만들어질 뿐이고, 배열을 생성해야만 비로소 값을 저장할 수 있는 공간이 만들어지는 것이다. 배열을 생성하기 위해서는 연산자 ‘new’와 함께 배열의 타입과 길이를 지정해 주어야 한다.
타입[] 변수이름; // 배열을 선언(배열을 다루기 위한 참조변수 선언)
변수이름 = new 타입[길이]; // 배열을 생성(실제 저장공간을 생성)
타입[] 변수이름 = new 타입[길이]; // 배열의 선언과 생성을 동시에
int[] score = new int[5]; // 길이가 5인 int 배열
배열의 인덱스
인덱스(index)는 배열의 요소마다 붙여진 일련번호로 각 요소를 구별하는데 사용된다. 인덱스는 0부터 시작한다.
“인덱스(index)의 범위는 0부터 ‘배열 길이-1’까지”
배열의 길이
int[] arr = new.int[5]; // 길이가 5인 int배열
int tmep = arr.length; // arr.length의 값은 5이고 tmp에 5가 저장된다.
배열은 한 번 생성하면 길이를 변경할 수 없다. 따라서 '배열이름.length'는 값을 읽을 수만 있는 상수다.
for문의 조건식에 배열의 길이를 직접 적어주는 것보다 ‘배열이름.length’를 사용하는 것이 좋다.
int[] score = new int[5]; // 배열의 길으를 6에서 5로 변경
for (int i=0; i < score.length; i++) // 조건식을 변경하지 않아도 됨
System.out.println(score[i]);
배열의 초기화
배열은 생성과 동시에 자동적으로 자료형의 기본값으로 초기화되지만, 원하는 값을 저장하려면 각 요소마다 값을 지정해야 한다.
일정한 규칙이 있을 경우에는 for문으로 배열을 초기화할 수 있다.
int[] score = new int[5]; // 길이가 5인 int형 배열을 생성한다.
for(int i=0; i < score.length; i++)
score[i] = i * 10 + 50;
배열의 출력
배열을 초기화할 때 for문을 사용하듯이, 저장된 값을 확인할 때도 for문을 사용한다.
int[] iArr = {100, 95, 80, 70, 60};
for(int i=0; i < iArr.length; i++) { // 배열의 요소를 순서대로 하나씩 출력
System.out.println(iArr[i]);
}
더 간단한 방법은 ‘Arrays.toString(배열 이름)’메서드를 사용하는 것이다. 이 메서드는 배열의 모든 요소를 ‘[첫 번째 요소, 두 번째 요소,...]’와 같은 형식의 문자열로 만들어서 반환한다.
int[] iArr = {100, 95, 80, 70, 60 };
// 배열 iArr의 모든 요소를 출력한다. [100, 95, 80, 70, 60]이 출력된다.
System.out.println(Arrays.toString(iArr));
Arrays.toString()을 사용하려면, ‘import java.util.Arrays;’를 추가해야 한다.
반응형
'Server > 자바의정석' 카테고리의 다른 글
[Java 입문] 클래스와 객체 (0) | 2022.09.27 |
---|---|
[Java 입문] 다차원 배열(multi-dimensional) (0) | 2022.09.27 |
[Java 입문] 반복문(for, while, do-while) (0) | 2022.09.26 |
[Java 입문] 조건문(If, If-else, If-else If, switch) (0) | 2022.09.26 |
[Java 입문] 연산자2 (0) | 2022.09.26 |