String 배열
String 배열의 선언과 생성
String[] name = new String[3];
배열의 타입이 String인 경우에도 int 배열의 선언 및 생성 방법과 다르지 않다.
하지만 참조형 변수(String)의 기본값은 null이기 때문에 각 요소의 값이 null로 초기화된다.
String 배열의 초기화
String[] name = new String[]{"Kim", "Yi", "Park"}
또는 인덱스를 지정하여 하나하나씩 초기화해주는 방법이 있다.
char 배열과 String 클래스
String 클래스는 char 배열에 기능을 추가한 것이다.
객체지향언어인 자바에서는 char 배열과 그에 관련된 기능들을 함께 묶어서 클래스에 저장한다. 객체지향개념이 나오기 이전의 언어들은 데이터와 기능을 따로 다루었지만, 객체지향언어에서는 데이터와 그에 관련된 기능을 하나의 클래스에 묶어서 다룰 수 있게 한다.
String str = "Java";
str = str + "8"; // "Java8"이라는 새로운 문자열이 str에 저장된다
System.out.println(str);
하지만 여기서 char 배열과 String 클래스의 한 가지 중요한 차이점이 있는데, 바로 Stirng 객체(문자열)는 읽을 수만 있을 뿐 내용을 변경할 수 없다는 것이다.
char 배열과 String 클래스의 변환
char[] chArr = {'A', 'B', 'C'};
String str = new String(chArr); // char 배열 -> String
char[] tmp = str.toCharArray(); // String -> char 배열
## 다차원 배열 ### 2차원 배열의 선언과 인덱스
int[][] score;
int score[][];
int[] score[];
int[][] score = new int[3][4]; // 3행 4열의 2차원 배열을 생성
2차원 배열의 초기화
int[][] arr = new int[][]{{1, 2, 3}{4, 5, 6}}
int[][] arr = {{1, 2, 3}{4, 5, 6}}
int[][] arr = {
{1, 2, 3},
{4, 5, 6}
}
가변 배열
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];
물론 생성과 동시에 초기화할 때도 가변 배열을 만들 수 있다.
'Book > 자바의 정석' 카테고리의 다른 글
[자바의 정석] Chapter 7. 객체지향 프로그래밍 II - 추상메서드, 인터페이스 (0) | 2023.07.14 |
---|---|
[자바의 정석] Chapter 7. 객체지향 프로그래밍 II - 오버라이딩, 접근 제어자, 다형성 (0) | 2023.07.14 |
[자바의 정석] Chapter 6. 객체지향 프로그래밍 I - 오버로딩, 생성자 (0) | 2023.07.14 |
[자바의 정석] Chapter 6. 객체지향 프로그래밍 I - 클래스, 인스턴스, 메서드 (0) | 2023.07.14 |
[자바의 정석] Chapter 5. 배열(Array) (0) | 2023.07.14 |