반응형
Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 | 29 |
30 | 31 |
Tags
- 테이블
- 자바
- CSS
- javascript
- Java
- Eclipse
- 이클립스
- IntelliJ
- ArrayList
- html
- Maven
- input
- 이탈리아
- json
- 인텔리제이
- Visual Studio Code
- CMD
- table
- Button
- Array
- string
- vscode
- 문자열
- js
- 자바스크립트
- 배열
- list
- 정규식
- date
- windows
Archives
- Today
- Total
어제 오늘 내일
[Java] 배열 선언 및 초기화 방법 (선언과 동시 초기화, 다차원 배열, Stream, 난수 초기화 등) 본문
Java 배열 선언 및 초기화 방법
Java에서 배열을 초기화하는 방법은 여러 가지가 있습니다.
1. 선언과 동시에 값 초기화 (정적 초기화)
배열을 선언하면서 동시에 값을 할당하는 방법입니다.
int[] numbers = {1, 2, 3, 4, 5};
String[] names = {"Alice", "Bob", "Charlie"};
boolean[] flags = {true, false, true};
설명
- {} 안에 값을 나열하면 자동으로 배열이 생성됩니다.
- 크기를 별도로 지정하지 않아도 됩니다.
2. new 키워드를 사용하여 초기화
int[] numbers = new int[]{1, 2, 3, 4, 5};
String[] names = new String[]{"Alice", "Bob", "Charlie"};
- new 키워드를 사용하면 명시적으로 배열을 생성할 수 있습니다.
- {}와 new를 함께 사용하는 방식은 변수 선언과 동시에 사용해야 합니다.
- 선언 후 따로 초기화할 때는 사용 불가......
int[] arr; arr = {1, 2, 3}; // error
3. 크기만 지정하고 기본값으로 초기화
int[] numbers = new int[5]; // {0, 0, 0, 0, 0}
double[] decimals = new double[3]; // {0.0, 0.0, 0.0}
boolean[] flags = new boolean[4]; // {false, false, false, false}
String[] names = new String[3]; // {null, null, null}
설명
- 배열 크기만 지정하면 각 요소는 기본값으로 초기화됩니다.
- int → 0
- double → 0.0
- boolean → false
- String 및 객체 → null
4. 배열 선언 후 개별적으로 초기화
int[] numbers = new int[3];
numbers[0] = 10;
numbers[1] = 20;
numbers[2] = 30;
설명
- 먼저 크기를 지정한 배열을 만든 후, 각 인덱스에 개별적으로 값을 할당하는 방식입니다.
5. Arrays.fill()을 이용한 초기화
import java.util.Arrays;
public class Main {
public static void main(String[] args) {
int[] numbers = new int[5];
Arrays.fill(numbers, 100); // 모든 요소를 100으로 설정
System.out.println(Arrays.toString(numbers));
}
}
실행 결과:
[100, 100, 100, 100, 100]
설명
- Arrays.fill(배열, 값)을 사용하면 배열의 모든 요소를 특정 값으로 초기화할 수 있습니다.
6. Arrays.copyOf()를 이용한 배열 복사 및 초기화
import java.util.Arrays;
public class Main {
public static void main(String[] args) {
int[] original = {1, 2, 3};
int[] copy = Arrays.copyOf(original, 5); // 크기를 5로 늘림 (남는 공간은 0으로 채움)
System.out.println(Arrays.toString(copy)); // [1, 2, 3, 0, 0]
}
}
실행 결과:
[1, 2, 3, 0, 0]
설명
- Arrays.copyOf(원본배열, 새로운 크기)를 사용하면 기존 배열을 기반으로 새로운 배열을 만들 수 있습니다.
- 크기를 늘리면 빈 공간은 기본값(0)으로 채워집니다.
7. 다차원 배열 초기화
int[][] matrix = {
{1, 2, 3},
{4, 5, 6},
{7, 8, 9}
};
설명
- 2차원 배열도 {}를 중첩해서 초기화할 수 있습니다.
8. Stream을 이용한 배열 초기화 (Java 8+)
import java.util.Arrays;
import java.util.stream.IntStream;
public class Main {
public static void main(String[] args) {
int[] numbers = IntStream.rangeClosed(1, 5).toArray();
System.out.println(Arrays.toString(numbers));
}
}
실행 결과:
[1, 2, 3, 4, 5]
- IntStream.rangeClosed(1, 5) → 1부터 5까지 숫자를 생성합니다.
- .toArray()를 사용하여 배열로 변환합니다.
9. 리스트를 배열로 변환 (List → Array)
import java.util.Arrays;
import java.util.List;
public class Main {
public static void main(String[] args) {
List<String> nameList = Arrays.asList("Alice", "Bob", "Charlie");
String[] nameArray = nameList.toArray(new String[0]); // 리스트를 배열로 변환
System.out.println(Arrays.toString(nameArray));
}
}
실행 결과:
[Alice, Bob, Charlie]
- List를 배열로 변환할 때 toArray(new String[0])를 사용하면 됩니다.
10. 난수를 활용한 배열 초기화
import java.util.Arrays;
import java.util.Random;
public class Main {
public static void main(String[] args) {
int[] numbers = new int[5];
Random random = new Random();
for (int i = 0; i < numbers.length; i++) {
numbers[i] = random.nextInt(100); // 0~99 사이의 난수 생성
}
System.out.println(Arrays.toString(numbers));
}
}
실행 결과 (예시):
[23, 87, 45, 12, 78]
- Random.nextInt(100)을 이용해 배열을 난수로 채울 수 있습니다.
정리
정적 초기화 | int[] arr = {1, 2, 3}; | 간단한 방식, 크기 자동 결정 |
new 키워드 사용 | int[] arr = new int[]{1, 2, 3}; | 명시적으로 배열 객체 생성 |
크기만 지정 | int[] arr = new int[5]; | 기본값(0, null)으로 초기화 |
개별 요소 할당 | arr[0] = 10; | 나중에 값을 지정할 경우 |
Arrays.fill() | Arrays.fill(arr, 100); | 모든 요소를 같은 값으로 설정 |
Arrays.copyOf() | Arrays.copyOf(arr, 5); | 배열 크기 확장 및 복사 |
Stream 활용 (Java 8+) | IntStream.rangeClosed(1, 5).toArray(); | 동적 배열 생성 |
List → 배열 변환 | list.toArray(new String[0]); | 리스트를 배열로 변환 |
난수 초기화 | new Random().nextInt(100); | 랜덤한 값으로 배열 채우기 |
반응형
'IT > Java' 카테고리의 다른 글
[Java] 조건문 - switch-case문 예제 (0) | 2025.03.11 |
---|---|
[Java] 조건문 - if문 예제 (if문, if-else문, if-else if-else문, 삼항연산자) (0) | 2025.03.10 |
[Java] String / isEmpty() 사용법 및 예제 (1) | 2024.12.09 |
[Java] 코드 포인트(Code Point) vs 코드 유닛(Code Unit) (0) | 2024.12.09 |
[Java] String / length() 사용법 및 예제 (0) | 2024.12.09 |
Comments