우리의 IT
JAVA - 배열 본문
✅ Java - 배열 (Array)
✔ 배열이란?
Java에서 배열은 같은 자료형의 여러 개의 값을 저장하는 자료구조입니다.
✔ 고정된 크기를 가지며, 한 번 생성하면 크기를 변경할 수 없습니다.
✔ 인덱스를 이용하여 요소에 접근할 수 있습니다.
✔ 0부터 시작하는 인덱스를 가집니다.
🔹 1. 배열 선언 및 생성
📌 배열 선언 & 초기화 방법
// 정수형 배열 선언 (크기만 지정, 기본값 0)
int[] arr1 = new int[5];
// 정수형 배열 선언과 초기화
int[] arr2 = {10, 20, 30, 40, 50};
// 배열 요소 변경
arr1[0] = 100; // 첫 번째 요소 변경
✅ 배열의 기본값
자료형 기본값
| int | 0 |
| double | 0.0 |
| boolean | false |
| char | \u0000 (null 문자) |
| String (객체) | null |
🔹 2. 배열 요소 접근
📌 배열 요소는 arr[index] 형태로 접근
public class Main {
public static void main(String[] args) {
int[] arr = {10, 20, 30, 40, 50};
System.out.println("첫 번째 요소: " + arr[0]); // 10
System.out.println("세 번째 요소: " + arr[2]); // 30
arr[1] = 100; // 두 번째 요소 변경
System.out.println("변경 후 두 번째 요소: " + arr[1]); // 100
}
}
✅ 출력
첫 번째 요소: 10
세 번째 요소: 30
변경 후 두 번째 요소: 100
⚠ 주의!
System.out.println(arr[5]); // 배열의 크기가 5인데, 인덱스 5는 존재하지 않음!
🚨 ArrayIndexOutOfBoundsException 발생
🔹 3. 배열 순회 (for, foreach)
📌 배열의 모든 요소를 출력하는 방법
public class Main {
public static void main(String[] args) {
int[] arr = {10, 20, 30, 40, 50};
// (1) 일반 for문
for (int i = 0; i < arr.length; i++) {
System.out.print(arr[i] + " ");
}
System.out.println();
// (2) 향상된 for문 (foreach)
for (int num : arr) {
System.out.print(num + " ");
}
}
}
✅ 출력
10 20 30 40 50
10 20 30 40 50
🔹 4. 다차원 배열 (2차원 배열)
📌 행과 열로 이루어진 배열
public class Main {
public static void main(String[] args) {
int[][] matrix = {
{1, 2, 3},
{4, 5, 6},
{7, 8, 9}
};
System.out.println("matrix[0][1]: " + matrix[0][1]); // 2
// 2차원 배열 출력 (중첩 for문)
for (int i = 0; i < matrix.length; i++) {
for (int j = 0; j < matrix[i].length; j++) {
System.out.print(matrix[i][j] + " ");
}
System.out.println();
}
}
}
✅ 출력
matrix[0][1]: 2
1 2 3
4 5 6
7 8 9
📌 가변 길이 배열 (각 행의 길이가 다를 수 있음)
int[][] jagged = new int[3][];
jagged[0] = new int[2]; // 첫 번째 행 (2칸)
jagged[1] = new int[4]; // 두 번째 행 (4칸)
jagged[2] = new int[3]; // 세 번째 행 (3칸)
🔹 5. 배열과 메소드
📌 배열을 메소드의 인자로 전달 가능
public class Main {
public static void printArray(int[] arr) {
for (int num : arr) {
System.out.print(num + " ");
}
System.out.println();
}
public static void main(String[] args) {
int[] numbers = {10, 20, 30, 40, 50};
printArray(numbers);
}
}
✅ 출력
10 20 30 40 50
📌 메소드에서 배열을 반환 가능
public class Main {
public static int[] createArray() {
return new int[]{1, 2, 3, 4, 5};
}
public static void main(String[] args) {
int[] arr = createArray();
for (int num : arr) {
System.out.print(num + " ");
}
}
}
✅ 출력
1 2 3 4 5
🔹 6. 배열 정렬 (Arrays.sort())
📌 오름차순 정렬
import java.util.Arrays;
public class Main {
public static void main(String[] args) {
int[] arr = {5, 2, 9, 1, 7};
Arrays.sort(arr); // 배열 정렬
System.out.println(Arrays.toString(arr));
}
}
✅ 출력
[1, 2, 5, 7, 9]
📌 내림차순 정렬 (Comparator.reverseOrder())
import java.util.Arrays;
import java.util.Collections;
public class Main {
public static void main(String[] args) {
Integer[] arr = {5, 2, 9, 1, 7};
Arrays.sort(arr, Collections.reverseOrder()); // 내림차순 정렬
System.out.println(Arrays.toString(arr));
}
}
✅ 출력
[9, 7, 5, 2, 1]
🚀 정리
개념 설명
| 배열 선언 | int[] arr = new int[5]; |
| 배열 초기화 | int[] arr = {10, 20, 30}; |
| 요소 접근 | arr[i] |
| 배열 길이 | arr.length |
| 배열 순회 | for / foreach |
| 2차원 배열 | int[][] arr = new int[3][3]; |
| 정렬 | Arrays.sort(arr) |
✅ 배열을 활용하면 데이터를 효율적으로 저장하고 처리할 수 있음! 🚀
'정보처리기사' 카테고리의 다른 글
| 파이썬 - 기본 자료형 (0) | 2025.03.27 |
|---|---|
| JAVA - 클래스 (0) | 2025.03.27 |
| C언어 - 포인터 (0) | 2025.03.27 |
| C언어 - 유틸리티 함수 (0) | 2025.03.27 |
| C언어 - 표준함수 (0) | 2025.03.27 |