본문 바로가기
언어 공부하기/JAVA 개념

[Java 자바] 배열(Arrays)에 대한 모든 것 : 기본 개념부터 코드까지 (자바 Arrays)

by 망댕이 2024. 7. 30.
반응형

▷ 배열(Arrays)

자바 배열(Arrays)은 정말 기본적이고 중요한 자료구조 중 하나이다.

배열은 동일한 타입의 여러 개의 변수를 한 묶음으로 사용하기 위한 변수의 집합체라고 보면 된다.

 

배열은 고정된 크기를 가지며, 각 요소의 인덱스로 접근이 가능하고. 인덱스는 0부터 시작한다.

 

| 배열(Arrays) 생성 방법

배열을 생성하기 위해서는 배열의 타입과 크기를 지정해야 한다. 

int[] numbers = new int[10];

 

크기가 10인 정수형의 numbers이름의 배열을 생성하였다. 이러한 배열 말고 몇 가지 방법이 더 있으므로 알아보자.

 

// 2번째 방법
int[] numbers = new int[]{100, 200, 300};

이것은 배열의 선언과 생성 그리고 초기값 모두 할당한 코드이다.

초기값을 지정하지 않으면 배열의 요소는 선언된 데이터형의 기본값으로 초기화된다.

// 3번째 방법
int[] number = {100, 200, 300};

new 를 사용하지 않고 간단한 배열 생성 방법이다.

하지만 배열 선언과 함께 사용자가 직접 초기값을 할당해야 한다.

 

| 배열의 기본 초기화 값

자바 배열은 생성될 때 자동으로 초기화된다. 

각 타입의 기본값:

  • int, short, byte: 0
  • double: 0.0
  • boolean: false
  • char: '\u0000' (null 문자)
  • 객체 배열: null

| 배열 요소 접근과 수정방법

요소에 접근하기 위해 배열명[인덱스]을 통해 그 배열 요소에 접근할 수 있다.

또한 요소를 수정하기 위해 배열명[인덱스]에 수정하고자 하는 값을 할당하여 변경할 수 있다.

int[] numbers = {1, 2, 3, 4, 5};
int num1 = numbers[0]; // 첫 번째 요소 접근 (값: 1)
System.out.println("첫 번째 요소: " + num1);

int numbers[3] = 40;
System.out.println("네 번째 요소 변경 값: " + numbers[3]);

//실행결과
첫 번째 요소: 1
네 번째 요소 변경 값: 40

 

배열의 길이를 구할 때는 배열명. length를 사용하면 해당 배열의 길이를 구할 수 있다.

int[] numbers = {1, 2, 3, 4, 5};
int arrayLength = numbers.length;
System.out.println("배열의 길이: " + arrayLength);

//실행 결과
배열의 길이: 5

 

또한 배열에서 for문을 이용하면 배열 안의 모든 요소들을 출력하거나 접근할 수 있다.

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

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

for (int number : numbers) { // 간단한 for문 (위와 출력결과는 동일함)
    System.out.println("요소 " + (number-1) + ": " + number);
}

// 실행 결과

요소 0: 1
요소 1: 2
요소 2: 3
요소 3: 4
요소 4: 5

 

마지막으로 배열 안에서 최댓값과 최솟값을 찾는 방법을 소개로 마무리하자.

int[] numbers = {3, 5, 7, 2, 8, -1, 4, 10, 12};
int max = numbers[0];
int min = numbers[0];

for (int i = 1; i < numbers.length; i++) {
    if (numbers[i] > max) {
        max = numbers[i];
    }
    if (numbers[i] < min) {
        min = numbers[i];
    }
}

System.out.println("최대값: " + max);
System.out.println("최소값: " + min);

 

배열을 맨 처음 값을 최솟값과 최댓값으로 할당한 후 그 다음다음 하나씩 비교하여 max보다 크면 그 배열 값을 max에 할당, min보다 작으면 그 배열 값을 min에 할당함으로써 for문 안에 if문을 이용하여 최대, 최소를 쉽게 구할 수 있다.

 

다차원 배열은 다음 포스트에서 소개하도록 하겠다.

반응형