1. 1차원 배열의 생성 및 값 대입
- 방법 1. (배열 객체의 생성 + 값 대입)
// 기본 문법 구조
자료형[] 참조변수명 = new 자료형 [배열의 길이];
참조변수명[0] = 값;
참조변수명[1] = 값;
…
참조변수명[배열의 길이 - 1] = 값;
// Example
int[] arr = new int[3];
arr[0] = 3;
arr[1] = 4;
arr[2] = 5;
- 방법 2. (배열 객체의 생성 및 값 대입)
※ 방법 2는 선언과 값의 대입 분리 가능 (3은 불가능)
// 기본 문법 구조
자료형[] 참조변수명 = new 자료형[] {값, 값, ..., 값};
// Example
int[] arr = new int[]{3, 4, 5};
- 방법 3. (값 대입) : 대입할 값만 입력
// 기본 문법 구조
자료형[] 참조변수명 = {값, 값, ..., 값};
// Example
int[] arr = {3, 4, 5};
2. 배열 객체의 강제 초기값
- 초기값을 부여하지 않는 경우, 빈칸으로 존재
// Example
int[] arr;
arr = new int[3];
※ Stack 메모리의 초기값
- 초기값을 부여하지 않는 경우 빈칸으로 존재 (읽기 불가능)
// Example
int a; // stack 메모리에 공간 생성 (빈칸으로 존재)
System.out.println(a); // 오류 발생
※ Heap 메모리의 초기값
- 빈칸으로 존재할 수 없으며, 디폴트 초기값이 강제 설정
- 기본자료형
- 숫자(int, double 등) 디폴트값 : 0
- boolean 디폴트 : false
- 참조자료형 디폴트값 : null
// Example
int var = 3;
int[] numbers = new int[3];
System.out.println(var); // 3
System.out.println(numbers[0]); // 0
3. 참조자료형으로서의 배열의 특징
※ '='는 stack 메모리의 값을 복사
- 기본자료형의 변수 복사 : 값의 복사
// Example
int a = 3;
int b = a;
b = 7;
System.out.println(a); // 3
System.out.println(b); // 7
- 참조자료형의 변수 복사 : 위치(번지) 복사
// Example
int[] a = {3, 4 ,5}
int[] b = a;
b[0] = 7;
System.out.println(a[0]); // 7
System.out.println(b[0]); // 7
4. 반복문을 이용한 데이터 읽기
- for 반복문을 이용
※ 속성과 기능 : 참조 데이터가 가진 데이터들 (arr.length 같이 arr.기능명)
// Example
int[] arr;
arr = new int[3];
arr[0] = 10;
arr[1] = 20;
arr[2] = 30;
for (int i = 0; i < arr.length; i++) { // arr.length : 배열의 길이를 나타냄
System.out.println(arr[i]);
}
// 결과 :
// 10
// 20
// 30
- for-each 반복문을 이용한 배열 데이터 읽기
// 기본 문법 구조
for ( 원소자료형 변수 : 묶음 참조자료형) {
}
// Example
int[] arr = new int[] {3, 4, 5, 6, 7};
for (int k : arr) {
System.out.print(k + " ");
}
// 결과 :
// 3 4 5 6 7
- 배열을 문자열로 출력 : Arrays.toString(1차원배열)
// Example
import java.util.Arrays;
int[] arr = new int[] {1, 2, 3, 4, 5};
System.out.println(Arrays.toString(arr));
// 결과 :
// [3, 4, 5, 6, 7]
'Programming Language > Java' 카테고리의 다른 글
참조자료형 - 4. main( ) 메소드 매개변수 (0) | 2022.07.07 |
---|---|
참조자료형 - 3. 2차원 배열 (0) | 2022.07.07 |
참조자료형 - 1. 1차원 배열 (배열의 특징/선언/객체생성/메모리구조) (0) | 2022.07.06 |
제어문과 제어키워드 - 3. 제어키워드 (0) | 2022.07.06 |
제어문과 제어키워드 - 2. 반복제어문 (0) | 2022.07.06 |