[Java] 배열

서연·2025년 4월 18일

Java

목록 보기
10/36

배열(Array)

  • 비슷한 주제의 데이터들을 하나의 그룹으로 묶어서 표현하는 방법
  • 모든 자료형의 종류로 배열을 만들 수 있다.

배열의 길이

  • 배열에 들어갈 수 있는 데어트의 개수를 의미한다.
  • 배열을 만들 때 한 번 크기를 정하면 변경할 수 없다.(정적배열)
    배열이름.length

배열 선언

  • new 키워드를 사용해 배열을 선언할 수 있다.
    자료형[] 변수이름 = new 자료형[배열의길이];

1. 배열 선언의 첫 번째 방법

  • (1)배열의 이름(2)길이 설정을 각 다른 줄에서 할 수 있다.
// 정수형 배열 arr 선언
int[] arr; // ✅ (1) 배열을 선언합니다.
arr = new int[5]; // ✅ (2) 배열의 길이를 5로 설정합니다.

2. 배열 선언의 두 번째 방법

  • 배열 선언과 배열길이 설정은 같은 줄에서 할 수 있다.
int[] arr = new int[5]; //// ✅ 선언과 동시에 길이를 설정합니다.
int arrLength = arr.length; 
System.out.println("arrLength = " + arrLength); // arrLength = 5

배열의 요소

  • 배열 안에 들어있는 각각의 값을 배열의 요소라고 한다.
  • 배열 선언과 동시에 배열의 요소를 설정할 수 있다.
    int[] arr = {10, 20, 30, 40, 50}; // ✅ 배열 선언과 동시에 배열의요소 설정

인덱스(index)

  • 인덱스를 통해 원하는 배열의 요소로 빠르게 접근할 수 있다.
int[] arr = {10, 20, 30, 40, 50};

System.out.println("배열의 1번째 요소 = " + arr[0]);
System.out.println("배열의 2번째 요소 = " + arr[1]);
System.out.println("배열의 3번째 요소 = " + arr[2]);
System.out.println("배열의 4번째 요소 = " + arr[3]);
System.out.println("배열의 5번째 요소 = " + arr[4]);

⚠️ 인덱스 사용 시 주의사항 ⚠️

  • 배열의 범위에 벗어난 요소에 접근하려 하면 ArrayIndexOutOfBoundsException 에러가 발생한다.
  • 인덱스를 활용할 때에는 배열의 범위를 벗어나지 않게 주의해야 한다.
 int[] arr = {10, 20, 30, 40, 50}; // 5개의 길이를 가진 배열
System.out.println("배열의 6번째 요소 = " + arr[5]); // ❌ 에러 발생

배열에 정보 삽입 수정

int[] arr = new int[5];
arr[0] = 100; // ✅ 1번째 요소를 100로 설정
arr[1] = 200; // ✅ 2번째 요소를 200로 설정
arr[2] = 300; // ✅ 3번째 요소를 300로 설정
arr[3] = 400; // ✅ 4번째 요소를 400로 설정
arr[4] = 500; // ✅ 5번째 요소를 500로 설정
arr[5] = 600; // ❌ 접근 불가

System.out.println("배열의 1번째 요소는 0번째 인덱스: " + arr[0]); // 100
System.out.println("배열의 2번째 요소는 1번째 인덱스: " + arr[1]); // 200
System.out.println("배열의 3번째 요소는 2번째 인덱스: " + arr[2]); // 300
System.out.println("배열의 4번째 요소는 3번째 인덱스: " + arr[3]); // 400
System.out.println("배열의 5번째 요소는 4번째 인덱스: " + arr[4]); // 500

배열 탐색

  • 인덱스를 활용해 배열을 탐색할 수 있다.
int[] arr = {1, 2, 3, 4, 5};

for (int i = 0; i < arr.length; i++) {
		// ✅ 숫자대신 변수i 를 인덱스 활용 
    System.out.println("numbers[" + i + "] = " + arr[i]); 
}
numbers[0] = 1
numbers[1] = 2
numbers[2] = 3
numbers[3] = 4
numbers[4] = 5

향상된 for문

  • 배열의 모든 요소를 하나씩 꺼내서 활용할 때 편리한 반복문이다.
  • for (int a : arr) → 배열 arr 에서 하나씩 꺼내서 a 에 저장
  • IndexOutOfBoundsException 에러가 발생하지 않는다.
int[] arr = {100, 200, 300, 400, 500};
for (int a : arr) {
		System.out.println("배열의 각 요소 = " + a);
}

2차원 배열(Two-Dimensional Array)

  • 첫 번째 인덱스는 =가로 방향을 의미한다.
  • 두 번째 인덱스는 =세로 방향을 의미한다.

2 X 2 바둑판이 있을 때 바둑알의 좌표를 표시하는 방법

boolean[][] board = new boolean[2][2]; // ✅ 2 x 2 2차원 배열 선언
boolean[][] board = {
		{true, false}, // 0행의 0열, 0행의 1열,
		{false, true}  // 1행의 0열, 1행의 1열
};

0개의 댓글