티스토리 뷰

study/Java

Array

xoxowo 2022. 9. 28. 20:22

배열 (Array) 

같은 자료형의 데이터들을 연속적으로 메모리에 저장하는 자료 구조이다. (정적 배열)

서로 다른 타입의 변수들을 배열로 만들 수 없다. 

(python의 list와 비슷하다.)

 

선언과 생성

 

타입[] 변수이름;  → 배열을 선언하는 것은 단순히 생성된 배열을 다루기 위한 참조 변수를 위한 공간이 만들어지며, int 타입일 경우 배열안의 값은 자동적으로 int의 기본값(default)인 '0'으로 초기화된다.

 

변수이름 = new 타입[길이]; 연산자'new'에 의해 메모리의 빈 공간에 지정한 길이까지 데이터를 저장할 수 있는 공간이 생성(?)된다.

// 타입[] 변수이름 = new 타입[길이];
int[] score = new int[5]; // 5개의 int 타입의 값을 저장할 수 있는 배열을 생성
int[] score = new int[] {10,20,40,60};
int[] score = {10,20,40,60};

 

길이

배열의 길이는 배열을 생성할 때 연산자 'new'로 선언할 때  괄호 [] 안에 배열의 길이를 적어줘야 한다. (만약 int 타입의 배열을 만든다면 int타입의 최댓값, 약 20억이다. 배열의 길이는 거의 제약이 없다.)

자바에서는 JVM이 모든 배열의 길이를 별도로 관리해서 배열이름.length; 로 배열의 길이에 대한 정보를 얻을 수 있다.

(for문과 같은 조건문의 조건식에 자주 사용된다. 파이썬에선 range() 메서드를 사용한다.)

 

※ 배열의 길이는 변경할 수 없기 때문에 배열을 새로 생성한 후 새로운 배열에 복사하는 방법이 있다.

System.arraycopy() 메소드를 사용하면 for문보다 빠르게 배열을 복사 할 수있다.

 

 

String 배열

int 타입의 배열을 생성하는 것처럼 String 타입도 동일하다.

int 타입과 다르게 참조형 변수의 기본값은 'null' 값이기 때문에 각 요소의 값은 'null'로 초기화 된다.

String[] animals = new String[3]; // 3개의 문자열을 담을 수 있는 배열 생성
String[] animals = new String[] {"cat", "dog", "fox"};
String[] animals = {"cat", "dog", "fox"};

'study > Java' 카테고리의 다른 글

Java Project Create - vscode (Mac 기준)  (0) 2022.10.06
Variable  (0) 2022.10.04
for 문  (0) 2022.09.25
변수 타입과 형변환(Casting)  (1) 2022.09.21
if 문  (0) 2022.09.16
댓글