Java

배열 Array

화요밍 2022. 5. 19. 16:34
728x90
반응형

1. 1차원 배열

  • 선언하기
타입[] 변수이름; int[] score;
String[] name;
타입 변수이름[]; int score[];
String name[];

배열의 참조변수를 위한 공간

배열을 선언하면 생성한 배열을 다루기 위한 참조변수를 위한 공간이 만들어 집니다.

아직 데이터를 저장할 수 있는 공간은 마련되지 않습니다.

 

 

  • 생성하기
변수이름 = new 타입[길이]; score = new int[5];
name = new String[3];

배열을 생성하면 값을 저장할 수 있는 공간이 만들어 집니다.

배열의 생성

연산자 new에 의해 명시한 타입의 데이터를 저장하기 위한 메모리 공간이 길이만큼 생성됩니다.

배열의 길이는 양의 정수이어야 하며 최댓값은 int 타입의 최댓값으로 약 20억입니다.

또한, 배열의 길이는 0이 될 수 있습니다.

자바에서는 배열의 길이를 JVM이 별도로 관리하며, 변수이름.length를 통해 배열의 길이를 알 수 있습니다.

 

 

  • 초기화하기
  • 인덱스 접근
int[] score = new int[5];

for(int i=0; i<score.length; i++) {
	score[i] = i;
}
String[] name = new String[4];

name[0] = "Kim";
name[1] = "Lee";
name[2] = "Park";
name[3] = "Choi";

 

  • 생성과 동시에 초기화
int[] score = new int[]{0, 1, 2, 3, 4};

String[] name = new Strig[]{"Kim", "Lee", "Park", "Choi"};
int[] score = {0, 1, 2, 3, 4};

String[] name = {"Kim", "Lee", "Park", "Choi"};
int[] score;
score = new int[]{0, 1, 2, 3, 4};

String[] name;
name = new String[]{"Kim", "Lee", "Park", "Choi"};

2. 다차원 배열

  • 선언하기
타입[][] 변수이름; int[][] score;
타입 변수이름[][]; int score[][];
타입[] 변수이름[]; int[] score[];

 

  • 생성하기
타입[][] 변수이름 = new 타입[길이][길이]; int[][] score = new int[4][3];

2차원 배열

 

  • 초기화하기
int[][] arr = new int[][]{{1, 2, 3}, {4, 5, 6}};
int[][] arr = {{1, 2, 3}, {4, 5, 6}};

3. 가변 배열

2차원 이상의 배열의 경우, 마지막 차수의 길이를 지정하지 않고 추후에 각기 다른 길이의 배열을 생성함으로써 유동적인 가변 배열을 구성할 수 있습니다.

int[][] score = new int[5][];
score[0] = new int[4];
score[1] = new int[3];
score[2] = new int[2];
score[3] = new int[2];
score[4] = new int[3];

가변 배열


배열의 복사

for문을 사용해서 배열의 요소를 각각 복사하는 것보다는 System.arraycopy()로 복사하는 것이 더 빠르다.

 

 


참고

  • 참고 도서: java의 정석 - 남궁성 지음
728x90
반응형

'Java' 카테고리의 다른 글

super와 this  (0) 2022.05.20
상속 Inheritance  (0) 2022.05.20
오버로딩(Overloading)과 오버라이딩(Overriding)  (0) 2022.05.19
객체지향 프로그래밍(OOP, Object-Oriented Programming)  (0) 2022.05.19
Java란?  (0) 2022.05.19