본문 바로가기

Java

[Java] 배열(Array) 특징 & 사용법

📌 배열(Array)이란?

  • 배열은 동일한 타입의 변수들을 한 곳에 저장해서 관리하는 것을 말한다.
  • 배열을 이용하면 하나의 변수에 여러 정보를 담을 수 있고, 반복문과 결합하면 많은 정보도 효율적으로 처리할 수 있습니다.

📌 배열의 특징

  • 연속된 자료구조이다.
  • 배열의 값을 element라고 하고, 그 순서를 index라고 한다.
  • 배열에 저장되는 값은 모두 같은 데이터의 유형이다. (int는 int 만, String 은 String)
  • 배열의 index 순서는 1부터가 아닌 0부터 시작이다.
  • 배열의 맨뒤의 대괄호 안에는 배열의 크기를 지정한다.

📌 배열의 사용법

// 선언 방법 1
int[] arr = new int[5]; // 크기 5의 배열
String[] strArr = new String[10]; // 크기 10의 배열

// 선언 방법 2
// 배열을 생성할 때 값을 직접 할당해서 생성이 가능하다.
int[] arr1 = new int[]{1,4,2,3,6};
String[] strArr1 = new String[]{"a","b","c","d","e"};

// 선언 방법 3
int[] arr2 = {1,2,3,4,5};
String[] strArr2 = {"a","b","c","d","e"};
  • 1, 4, 2, 3, 6 순서 대로 0번째는 1, 1번째는 4, 2번째는 2의 값이 된다.
  • 종종 인덱스 실수할 때가 있으니 항상 인덱스를 생각해야 한다.
int[] arr = new int[5]; // 크기 5의 배열
// 배열에 값 넣기
arr[0] = 1;
arr[1] = 2;

arr = new int[5];

// for문을 통해서 값 넣기
for (int i = 0; i < arr.length; i++) {
  arr[i] = i + 1;
}

// 배열 출력
System.out.println(arr[0]); // 1
System.out.println(arr[2]); // 3

📌 2차원 배열

int[][] arr = new int[2][2]; // 2 x 2 의 배열이다.
arr[0][0] = 1;
arr[0][1] = 2;
arr[1][0] = 3;
arr[1][1] = 4;

// 이런 식으로도 선언이 가능하다.
int[ ][ ] = {{ 10, 11, 12 },{ 20, 21, 22 }};

📌 참조형 배열 (객체 배열)

  • 배열에 객체를 담을 수 있다.
  • 객체 배열을 담기 위해서는 아래와 같이 객체를 생성해 주어야 한다.
public class Student {
	
	String name;
	int age;
	
	public Student() {	}	// 기본 생성자
	
	public void show() {
		System.out.println(name + "이름은" + age + "세 입니다.");
	}

}
public class Main {
    public static void main(String[] args) {

        Student[] students = new Student[3]; // 객체 배열 선언 및 생성

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

        students[0].name = "홍길동";
        students[0].age = 20;

        students[1].name = "아낙네";
        students[1].age = 30;

        students[2].name = "이순신";
        students[2].age = 19;

        for (int i = 0; i < students.length; i++) {
            students[i].show();
        }
    }
}