▷ 배열(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문을 이용하여 최대, 최소를 쉽게 구할 수 있다.
다차원 배열은 다음 포스트에서 소개하도록 하겠다.
'언어 공부하기 > JAVA 개념' 카테고리의 다른 글
[Java 자바] 추상 클래스(abstract class)에 빠르고 쉽게 알아보기 : 기본 개념부터 코드까지 (자바 추상 클래스) (0) | 2024.08.12 |
---|---|
[Java 자바] 상속(Inheritance)에 빠르고 쉽게 알아보기 : 기본 개념부터 코드까지 (자바 상속) (0) | 2024.08.06 |
[Java 자바] this 키워드 사용하는 이유? this에 대해 알아보자 (자바 this) (0) | 2024.07.29 |
[Java 자바] 생성자 키워드 사용하는 이유란? 생성자에 대해 알아보자 (자바 생성자) (0) | 2024.07.23 |
[Java 자바] static 키워드 사용하는 이유란? static에 대해 알아보자 (Static) (0) | 2024.07.22 |