Study/java

[Java] 배열(Array) 선언 및 초기화, 사용 예제

 

배열이란?

배열은 동일한 타입의 여러 값을 저장할 수 있는 자료구조입니다.

Java에서는 배열을 선언하고 초기화하는 방법이 여러 가지가 있으며, 올바르게 사용하지 않으면 예외가 발생할 수 있습니다.

 

배열 선언 및 초기화

int[] ints1 = new int[5];
int int2[] = new int[5];

 

  • int[] ints1: 타입이 먼저 나오고 변수명이 나오는 형태입니다.
  • int int2[]: 변수명 뒤에 대괄호를 붙이는 형태입니다.

 

타입[] 변수명 부분이 배열을 선언한 부분이고, new 타입[길이] 부분이 초기화한 부분입니다.

위의 코드는 int 타입의 배열을 길이 5로 초기화하여 생성하였다는 의미입니다.

 

배열 초기화

배열을 초기화할 때 길이를 지정하지 않으면 컴파일 오류가 발생합니다.

배열 초기화 시 길이를 지정하지 않으면 오류 발생
배열 초기화 시 길이를 지정하지 않으면 오류 발생

그래서 길이를 꼭 지정해줘야 합니다.

 

배열의 길이는 0 이상의 정수로 지정하면 됩니다.

소수를 넣거나 음수를 넣는 경우 오류가 발생합니다.

배열 길이에 음수를 넣었을 때 NegativeArraySizeException 발생
배열 길이에 음수를 넣었을 때 NegativeArraySizeException 발생

 

다양한 타입의 배열

배열은 다양한 타입으로 만들 수 있습니다.

String[] strings = new String[10];
List[] lists = new List[10];
Object[] objects = new Object[3];
Student[] students = new Student[20]; // 직접 만든 객체

 

배열 초기화 시 값을 미리 저장하기

만약 배열 값을 미리 정해야 한다면 다음과 같이 초기화할 수 있습니다.

int[] numbers = new int[] { 1, 2, 3, 4, 5 };
int[] numbers2 = { 1, 2, 3, 4, 5 };

 

 

 

 

사용 예제

배열에 값 넣기

선언한 배열에 값을 넣을 때는 다음과 같은 방법을 사용합니다.

int[] numbers = new int[5];
numbers[0] = 99;
numbers[1] = 98;
numbers[2] = 97;

numbers[10] = 999; // ArrayIndexOutOfBoundsException 발생

 

만약 선언할 때 설정한 배열 길이를 넘는 인덱스를 사용하면 ArrayIndexOutOfBoundsException이 발생합니다.

길이를 5로 선언했다면 인덱스는 0~4입니다.

 

반복문을 사용하여 배열에 값 추가

반복문을 사용하여 배열에 값을 추가할 수도 있습니다.

int[] numbers = new int[5];
for (int i = 0; i < numbers.length; i++) {
    numbers[i] = i;
}

for문을 선언할 때 배열의 길이만큼 반복문을 실행시키면 인덱스 범위를 넘어가지 않게 할 수 있습니다.

 

배열 출력

배열을 출력하는 방법은 두 가지가 있습니다:

for문을 사용하여 출력

for (int i = 0; i < numbers.length; i++) {
    System.out.println("numbers[" + i + "] = " + numbers[i]);
}

Arrays 클래스의 toString 메소드를 사용하여 출력

import java.util.Arrays;

System.out.println("Arrays.toString(numbers) = " + Arrays.toString(numbers));

 

전체 코드

// 배열에 값 추가
int[] numbers = new int[5];
for (int i = 0; i < numbers.length; i++) {
    numbers[i] = i;
}

// for문을 사용하여 배열 값 출력
for (int i = 0; i < numbers.length; i++) {
    System.out.println("numbers[i] = " + numbers[i]);
}

// Arrays 클래스의 toString 메소드를 사용하여 출력
System.out.println("Arrays.toString(numbers) = " + Arrays.toString(numbers));

배열 출력 결과
배열 출력 결과

 

 

 

읽으면 좋은 글

[Java] 2차원 배열 선언 및 초기화, 값 넣기, 동적 할당 방법

 

[Java] 2차원 배열 선언 및 초기화, 값 넣기, 동적 할당 방법

2차원 배열이란 배열 안에 배열이 있는 형태의 자료구조입니다. 선언 및 초기화 자바에서 2차원 배열을 선언하고 초기화하는 방법은 다음과 같습니다. int[][] matrix = new int[5][2]; 이 배열은 5개의

priming.tistory.com