배열은 같은 타입의 변수로 이루어진 유한 집합이다.
배열을 구성하는 각각의 값들을 배열 요소(element)라고 하며, 위치는 인덱스(index)라고 한다.
자바 인덱스는 0부터 시작하고, 0을 포함한 양의 정수만을 갖는다.
1차원 배열은 그중에서 가장 기본적인 배열로, 다음과 같은 문법에 따라 선언한다.
1. 타입[] 배열이름;
2. 타입 배열이름[];
이렇게 배열을 선언하면 new 키워드로 실제 배열로 생성할 수 있다.
배열 이름 = new 타입[배열길이];
자바에서는 배열도 객체이므로, 모두 자신만의 필드와 메서드를 가지고 있다.
다음 예제는 int형 데이터를 3개 저장할 수 있는 배열 및 선언을 동시에 생성한다.
int[] grade1 = new int[3]; // 길이가 3인 int형 배열의 선언 및 생성
int[] grade2 = new int[3]; // 길이가 3인 int형 배열의 선언 및 생성
grade1[0] = 85; // 인덱스를 이용한 배열의 초기화
grade1[1] = 65;
grade1[2] = 90;
grade2[0] = 85; // 배열의 길이보다 적은 수의 배열 요소만 초기화
for (int i = 0; i < grade1.length; i++) {
System.out.print(grade1[i] + " "); // 인덱스를 이용한 배열로의 접근
}
for (int i = 0; i < grade2.length; i++) {
System.out.print(grade2[i] + " "); // 인덱스를 이용한 배열로의 접근
}
//실행 결과
85 65 90
85 0 0
import java.util.*;
public class Java1DArray {
public static void main(String[] args) {
Scanner scan = new Scanner(System.in);
int n = scan.nextInt();
int[] a = new int[n]; //길이가 n인 int형 'a' 배열의 선언 및 생성
for (int i = 0; i < a.length; i++) {
a[i] = scan.nextInt();
//배열 안의 요소를 i=0부터 초기화 하면서 스캐너로 입력되는 값을 담는다.
//index는 0부터 시작하므로, a 길이보다 하나 작을때까지 증가 시키며
//반복해야 전체 배열을 담을 수 있다.
}
scan.close();
// Prints each sequential element in array a
for (int i = 0; i < a.length; i++) {
System.out.println(a[i]); //인덱스를 이용한 배열로의 접근
}
}
}