Wednesday, November 22, 2006
Java/자바] 2차원 문자열 배열 선언, new 연산자로 초기화; 2 Dimensional Array
자바 배열에 대한 간단한 강좌입니다.
▶▶ Java/자바] 2차원 정수 배열 선언/초기화/출력 예제; 배열의 배열; Array of Array <- 이 게시물에서는 배열 요소를 직접 초기화해 주는 "단축 문법"을 사용했는데
여기서는 배열을 new 연산자로 초기화하고 메모리를 할당하는 방법입니다.
문자열 배열을 new 연산자로 초기화하면 모두 null 로 채워지고, int 배열의 경우는 0으로, 불린 배열의 경우는 false(거짓)로 초기화됩니다.
String[][] foo = new String[5][8];
[행의 수(rows)][한 행에 몇개(columns)]
형식으로 메모리가 할당됩니다. 엑셀 좌표와 비슷합니다.
소스 파일명: Foo.java
컴파일 및 실행 결과:
new String[5][8] 이렇게 선언해 주었기에,
행의 수는 5줄,
줄 1개당 8개의 요소(ㅎㅎ)가 있습니다.
그런데 소스에서 "ㅎㅎ"로 초기화해 주지 않았다면, 다음과 같이 new 연산자가 초기화한 null 값이 출력됩니다:
▶▶ Java/자바] 문자열 1차원 배열 선언, 초기화 예제; String Array
▶▶ Java/자바] 2차원 정수 배열 선언/초기화/출력 예제; 배열의 배열; Array of Array <- 이 게시물에서는 배열 요소를 직접 초기화해 주는 "단축 문법"을 사용했는데
여기서는 배열을 new 연산자로 초기화하고 메모리를 할당하는 방법입니다.
문자열 배열을 new 연산자로 초기화하면 모두 null 로 채워지고, int 배열의 경우는 0으로, 불린 배열의 경우는 false(거짓)로 초기화됩니다.
String[][] foo = new String[5][8];
[행의 수(rows)][한 행에 몇개(columns)]
형식으로 메모리가 할당됩니다. 엑셀 좌표와 비슷합니다.
new 연산자로 이차원 문자 열 배열 초기화 예제
소스 파일명: Foo.java
public class Foo {
public static void main(String[] args) {
// 2차원 배열 foo 의 선언과 초기화
String[][] foo = new String[5][8];
// 2차원 문자열 배열의 요소들에 문자열 대입
for (int i = 0; i < foo.length; i++) {
for (int j = 0; j < foo[i].length; j++) {
foo[i][j] = "ㅎㅎ";
}
}
// 2차원 문자열 배열의 요소들 하나씩 출력
for (int i = 0; i < foo.length; i++) {
System.out.println();
for (int j = 0; j < foo[i].length; j++) {
System.out.print(foo[i][j] + " ");
}
}
System.out.println(); // 줄바꿈
}
}
public static void main(String[] args) {
// 2차원 배열 foo 의 선언과 초기화
String[][] foo = new String[5][8];
// 2차원 문자열 배열의 요소들에 문자열 대입
for (int i = 0; i < foo.length; i++) {
for (int j = 0; j < foo[i].length; j++) {
foo[i][j] = "ㅎㅎ";
}
}
// 2차원 문자열 배열의 요소들 하나씩 출력
for (int i = 0; i < foo.length; i++) {
System.out.println();
for (int j = 0; j < foo[i].length; j++) {
System.out.print(foo[i][j] + " ");
}
}
System.out.println(); // 줄바꿈
}
}
컴파일 및 실행 결과:
D:\Z>javac Foo.java && java Foo
ㅎㅎ ㅎㅎ ㅎㅎ ㅎㅎ ㅎㅎ ㅎㅎ ㅎㅎ ㅎㅎ
ㅎㅎ ㅎㅎ ㅎㅎ ㅎㅎ ㅎㅎ ㅎㅎ ㅎㅎ ㅎㅎ
ㅎㅎ ㅎㅎ ㅎㅎ ㅎㅎ ㅎㅎ ㅎㅎ ㅎㅎ ㅎㅎ
ㅎㅎ ㅎㅎ ㅎㅎ ㅎㅎ ㅎㅎ ㅎㅎ ㅎㅎ ㅎㅎ
ㅎㅎ ㅎㅎ ㅎㅎ ㅎㅎ ㅎㅎ ㅎㅎ ㅎㅎ ㅎㅎ
D:\Z>
ㅎㅎ ㅎㅎ ㅎㅎ ㅎㅎ ㅎㅎ ㅎㅎ ㅎㅎ ㅎㅎ
ㅎㅎ ㅎㅎ ㅎㅎ ㅎㅎ ㅎㅎ ㅎㅎ ㅎㅎ ㅎㅎ
ㅎㅎ ㅎㅎ ㅎㅎ ㅎㅎ ㅎㅎ ㅎㅎ ㅎㅎ ㅎㅎ
ㅎㅎ ㅎㅎ ㅎㅎ ㅎㅎ ㅎㅎ ㅎㅎ ㅎㅎ ㅎㅎ
ㅎㅎ ㅎㅎ ㅎㅎ ㅎㅎ ㅎㅎ ㅎㅎ ㅎㅎ ㅎㅎ
D:\Z>
new String[5][8] 이렇게 선언해 주었기에,
행의 수는 5줄,
줄 1개당 8개의 요소(ㅎㅎ)가 있습니다.
그런데 소스에서 "ㅎㅎ"로 초기화해 주지 않았다면, 다음과 같이 new 연산자가 초기화한 null 값이 출력됩니다:
D:\Z>javac Foo.java && java Foo
null null null null null null null null
null null null null null null null null
null null null null null null null null
null null null null null null null null
null null null null null null null null
D:\Z>
null null null null null null null null
null null null null null null null null
null null null null null null null null
null null null null null null null null
null null null null null null null null
D:\Z>
▶▶ Java/자바] 문자열 1차원 배열 선언, 초기화 예제; String Array
tag: java
자바 | Java
감사감사 !!!!
<< Home