- 배열
같은 데이터 타입을 가진 연속된 메모리 공간으로 이루어진 자료구조.
같은 데이터 타입을 가진 여러 개의 변수가 필요할 때 사용한다.
<1차원 배열>
- 배열 생성 방법
- 정수를 4개 저장 할 수 있는 배열을 생성 하는 방법
int[] array1 = new int[4];
- 배열에 값을 저장하는 방법
array1[0] = 1;
array1[1] = 2;
array1[2] = 3;
array1[3] = 4;
//자바에서 배열의 인덱스는 0번 부터 사용한다. 4개짜리 배열은 0부터 3까지의 인덱스를 가지게 된다.
//배열인덱스 0번부터 3번까지 차례로 1,2,3,4 값을 저장한다.
- 배열에 저장된 값을 꺼내서 사용하는 방법
int value = array1[2];
//array1 이 참조하는 배열의 2번 인덱스에 해당하는 값 3을 꺼내서 int형 변수 value에 담는다.
System.out.println(array1[1]);
//array1 이 참조하는 배열의 1번 인덱스에 해당하는 값 2가 콘솔에 출력된다.
- 선언과 동시에 초기화하는 방법
int[] array2 = new int[]{1,2,3,4,5};
//int 값을 5개저장 할 수 있는 배열이며, 해당 배열에는 1,2,3,4,5가 순서대로 저장되게 된다.
<배열 사용하기>
for 반복문을 이용해서 배열 사용하기
- 배열에 접근할때에는 인덱스를 통해서 접근한다.
int[] iarray = new int[100];
iarray[0] = 1;
iarray[1] = 2;
- 배열에 0번째 인덱스 부터 시작해서 1부터 100까지 넣기
- 정수를100개 저장 할 수 있는 배열을 생성
int [] iarray = new int[100];
- 배열의 길이를 알아내는 방법
iarray.length
//배열을 참조하는 레퍼런스 변수.length 하면 해당 배열의 길이를 리턴한다.
- 배열에 1부터 100까지 값넣기
//배열에 값을 반복적으로 넣어야 하므로, for 반복문을 이용한다.
for(int i = 0; i < iarray.length; i++){
//배열의 인덱스는 0부터 시작하므로, 0부터 배열의 길이보다하나작을때까지 반복하면 배열의 크기만큼 반복가능
iarray[i] = i + 1;
//배열의 인덱스는 0부터인데 넣고 싶은 값은 1부터 사용해야하므로, 인덱스에 1을 더해준 값을 넣어준다.
}
- 배열에 저장된 값을 모두 더해주기
int sum = 0;
//값을 누적하기위한 변수는 반복문 밖에서 선언(for문 안에서 선언된 변수는 그 안에서만 사용 가능)
for(int i = 0; i< iarray.length; i++){
// 배열의 크기만큼 반복한다.
sum = sum + iarray[i];
//반복문 밖에서 선언한 변수에 반복적으로 값을 누적한다.
}
System.out.println(sum);
//배열에 들어있는 모든 값 누적한 변수를 출력한다.
❗알고리즘 문제풀 때 자주 사용된다.
<2차원 배열>
배열의 배열..
- 2차원 배열 생성 방법
- 정수를 4개씩 담을 수 있는 배열이 3개 생성된다.
int[][] array4 = new int[3][4];
- 2차원 배열에 값을 저장하는 방법
- 만약 array4[1] = 10 ; 이렇게 사용하면 오류!!
- array4[1] 은 또 다른 1차원 배열을 가리킬 수 있는 참조형 변수이기 때문에 값을 담을수는 없다.
array4[0][0] = 10;
- 가변크기의 2차원 배열을 생성하는 방법
int[][] array5 = new int[3][];
//위와 같이 선언하면 array5는 3개짜리 배열을 참조한다. 3개짜리 배열은 아직 참조하는 배열이 없다는 것을 의미.
array5[0] = new int[1]; //정수를 하나 담을 수 있는 배열을 생성해서 array5 의 0 번째 인덱스가 참조한다.
array5[1] = new int[2]; //정수를 두개 담을 수 있는 배열을 생성해서 array5 의 1 번째 인덱스가 참조한다.
array5[2] = new int[3]; //정수를 세개 담을 수 있는 배열을 생성해서 array5 의 2 번째 인덱스가 참조한다.
- 선언과 동시에 초기화하는 방법
int[][] array6 = {{1}, {2,3}, {4,5,6}};
//위와 같이 선언할 경우 array6[0][0] 는 1이다. array6[1][0]은 2이다.
'☕JAVA > 🔎 공부 [JAVA]' 카테고리의 다른 글
[JAVA] 생성자 / this / 생성자 오버로딩 (0) | 2022.08.10 |
---|---|
[JAVA] 열거형 enum (0) | 2022.08.10 |
[JAVA] 반복문 - while문 / do-while문 (0) | 2022.08.10 |
[JAVA] 제어문 switch문 (0) | 2022.08.09 |
[JAVA] 데이터타입 - 기본형 타입 / 참조형 타입 (0) | 2022.08.09 |