배열(Array)
같은 타입의 여러 변수를 하나의 묶음으로 다루는 것
여러개의 데이터를 묶어 처리함으로써 특히 반복문에서 유용하다.
배열 사용 예
동일한 변수 5개를 선언해야 한다면?
int num1, num2, num3, num4, num5;
int num1;
int num2;
int num3;
int num4;
int num5;
좀 더 쉽게 할 수 있을까? 배열을 사용한다면?
배열 생성(선언)
변수 타입[] 변수이름; // 배열(변수) 선언
변수이름 = new 변수타입[길이]; // 배열 생성 (초기화)
int[] arr; // int 배열 변수를 arr로 선언한다
arr = new int[5]; // 배열의 저장공간을 5개 생성(초기화) 한다.
// 배열 생성과 동시에 자동으로 0(값 타입에 맞도록)으로 초기화 한다.
System.out.println(arr);
실행 결과 : [I@7c30a502
int[] num; // 배열 선언
num = new num[5]; //배열 생성
자바에서 참조형 변수의 메모리 주소를 표시하는 방법
System.out.printf("%d\n", arr.hashCode());
System.out.printf("%x\n", arr.hashCode());
실행 결과 :
2083562754
7c30a502
더 정확하게 16진수로 표시하는 또 다른 방법
System.out.println(Integer.toHexString(arr.hashCode()));
System.out.println(arr[0]); //0번째 배열 공간 접근 - 0
System.out.println(arr[1]); //1번째 배열 공간 접근 - 0
System.out.println(arr[2]); //2번째 배열 공간 접근 - 0
System.out.println(arr[3]); //3번째 배열 공간 접근 - 0
System.out.println(arr[4]); //4번째 배열 공간 접근 - 0
// System.out.println(arr[5]); //범위를 벗어나므로 오류
실행 결과 :
7c30a502
0
0
0
0
0
1번째 배열 변수에 값을 저장하는 방법
arr[1] = 10;
System.out.println(arr[1]);
int[] arr = new int[10];
//변수 선언과 동시에 초기화 하듯 배열 선언과 생성을 한번에 가능하다.
int[] num = new int[5]; // 5개의 int 변수를 만든다.
num-> [0][0][0][0][0] // 5개의 int 저장공간이 생긴다, 그리고 0으로 초기화 됨
// 배열 선언과 생성 및 초기화까지
int[] arr1 = new int[] {10, 20, 30, 40, 50};
System.out.println(Arrays.toString(arr1));
//더 간단한 방법, 이지만 잘 안쓴다.
int[] arr2 = {1, 2, 3, 4, 5};
System.out.println(Arrays.toString(arr2));
System.out.println(arr2.hashCode());
여기서 new 라는 키워드는 "메모리에 새로운 저장공간을 만들어주세요"라는 지시어이다.
정확히는 "힙 메모리에 새로운 저장공간을 int 타입으 로 길이만큼 만들어주세요" 라는 의미
(String a = "홍길동" 이 Sting b = new String("홍길동"); 이듯, )
for 문을 통한 편한 접근? >>
for (int i = 0; i < arr.length; i++) {
arr[i] = i + 1;
System.out.println(arr[i]);
}
System.out.println("arr 배열의 길이는 " + arr.length);
System.out.println("arr의 마지막 요소의 값은 " + arr[arr.length-1]);
각 배열에 값을 저장
배열명[번호] = 값;
num[0] = 1; // 배열의 1번째는 0부터 시작한다. index = 0;
…
num[4] = 5; // 0부터 시작하므로 마지막은 N-1번째.
각 배열에 값을 사용하는 방법
배열명[번호];
num[0]; // 변수 뒤에 [] 대괄호와 배열 순번을 쓴다.
…
num[4]; // 0부터 시작하므로 마지막은 N-1번째
배열의 길이 얻어오기
배열이름.length; // 배열길이 가져오기
int[] arr = new int[5]; // 배열을 생성하고
int size = arr.length; // 길이를 가져와 size변수에 저장하기
***
char[] alpha = {'A','B','C','D','E'};
for (int i = 0; i < alpha.length; i++) {
System.out.print(alpha[i]);
}
'language > Java' 카테고리의 다른 글
[응용 예제] Bingo (0) | 2022.06.21 |
---|---|
2차원 배열(Array) (0) | 2022.06.21 |
do ~ while (0) | 2022.05.29 |
반복문 (while) (0) | 2022.05.29 |
이중반복문 (Nested For) (0) | 2022.05.29 |