뚜sh뚜sh

[자바의 정석 - 기초편] Chapter 5. 배열 본문

Language/Java

[자바의 정석 - 기초편] Chapter 5. 배열

뚜sh뚜sh 2023. 8. 4. 15:55

배열이란?

- 같은 타입의 여러 변수를 하나의 묶음으로 다루는 것

 

 

 

배열의 선언과 생성

- 배열의 선언 : 배열을 다루기 위한 참조변수의 선언(저장공간 생성X)

타입[] 변수이름; // 배열을 선언(배열을 다루기 위한 참조변수 선언)
변수이름 = new 타입[길이]; // 배열을 생성(실제 저장공간을 생성)

 

 

 

배열의 인덱스

- 배열의 인덱스 : 각 요소에 자동으로 붙는 일련번호

- 인덱스의 범위는 0부터 배열길이-1까지

 

 

 

배열의 길이

- 배열의 길이 : 배열이름.length

- 배열은 한번 생성하면 그 길이를 바꿀 수 없음

 

 

 

배열의 초기화

- 배열의 초기화 : 배열의 각 요소에 처음으로 값을 저장하는 것

- 배열은 생성할 때 타입의 기본값으로 자동초기화됨

 

 

 

배열의 출력

- for문

int[] iArr = {100, 95, 80, 70, 60};
for (int i=0; i<iArr.length; i++) {
	System.out.println(iArr[i]);
}

 

- Arrays 클래스 이용

System.out.println(Arrays.toString(iArr));

 

 

 

String배열의 선언과 생성

String[] name = new String[3]; // 3개의 문자열을 담을 수 있는 배열을 생성함

- 기본형의 기본값은 false, 0인데 참조형의 기본값은 null

 

 

 

String클래스

1. String클래스는 char[]와 메서드(기능)를 결합한 것

String클래스 = char[] + 메서드(기능)

 

2. String클래스는 내용을 변경할 수 없다(read only)

 

 

 

String클래스의 주요 메서드

 

 

 

커맨드 라인을 통해 입력받기

- 커맨드 라인에 입력한 값이 문자열 배열에 담겨서 전달된다

// 커맨드 창에
java [class명] 입력값1 입력값2 "입력값3 입력값4" // 큰따옴표로 묶는다면 띄어진 단어를 한 단어로 넘길 수 있음

- main 함수의 args에 ["입력값1", "입력값2", "입력값3 입력값4"]가 넘어감

 

 

 

2차원 배열

- 2차원 배열 : 테이블 형태의 데이터를 저장하기 위한 배열

int[][] score = new int[4][3]; // 4행 3열의 2차원 배열을 생성함

 

 

 

2차원 배열의 인덱스

  • 행 index : 0 ~ 행의 길이-1
  • 열 index : 0 ~ 열의 길이-1

 

 

 

Arrays로 배열 다루기

- 배열의 출력 : toString()

int[] = {0, 1, 2, 3, 4};
int[][] arr2D = {{11, 12}, {13, 14}};

System.out.println(Arrays.toString(arr)); // [0, 1, 2, 3, 4]
System.out.println(Arrays.deepToString(arr2D)); // [[11, 12], [13, 14]]

 

- 배열의 비교 : equals()

String[][] str2D = new String[][]{{"aaa", "bbb"}, {"AAA", "BBB"}};
String[][] str2D2 = new String[][]{{"aaa", "bbb"}, {"AAA", "BBB"}};

System.out.println(Arrays.equals(str2D, str2d2)); // false
System.out.println(Arrays.deepEquals(str2D, str2d2)); // true

 

- 배열의 복사 : copyOf(), copyOfRange()

int[] arr = {0, 1, 2, 3, 4};
int[] arr2 = Arrays.copyOf(arr, arr.length) // arr2 = [0, 1, 2, 3, 4]
int[] arr3 = Arrays.copyOf(arr, 3) // arr2 = [0, 1, 2]
int[] arr4 = Arrays.copyOf(arr, 7) // arr2 = [0, 1, 2, 3, 4, 0, 0]
int[] arr5 = Arrays.copyOfRange(arr, 2, 4) // arr2 = [2, 3] (4는 포함x)
int[] arr5 = Arrays.copyOfRange(arr, 0, 7) // arr2 = [0, 1, 2, 3, 4, 0, 0]

 

- 배열의 정렬 : sort()

int[] arr = {3, 2, 0, 1, 4};
Arrays.sort(arr); // 배열 arr을 정렬한다
System.out.println(Arrays.toString(arr)); // [0, 1, 2, 3, 4]

 

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

Comparable과 Comparator  (0) 2024.01.16
PriorityQueue에서의 Comparator 사용법  (0) 2023.10.06
[자바의 정석 - 기초편] Chapter 2. 변수(Variable)  (0) 2023.08.03
GUI, AWT와 스윙(swing)  (0) 2023.07.06
컬렉션 클래스  (0) 2023.07.06
Comments