본문 바로가기
language/Java

배열(Array)

by abstract.jiin 2022. 5. 30.

배열(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