Thursday, November 09, 2006
Java/자바] 문자열 배열 선언, 초기화 예제; String Array
문자열들이 들어갈 배열을 선언하고, 배열 요소들에 문자열을 대입하여 초기화한 후, 배열 요소들을 하나씩 화면에 출력하는 기초 예제입니다.
소스 파일명: Foo.java
실행 결과:
(편의상, --- 이런 기호로 출력 화면을 구분해 주었음)
String s
이렇게 선언하면, 문자열 배열이 아닌 그냥 문자열 변수 1개가 선언됩니다. [] 이런 대괄호를 붙여야 배열이 됩니다. 그렇지 않으면
* illegal initializer for java.lang.String (잘못된 초기화)
* cannot find symbol / symbol : variable length (length 라는 변수를 찾을 수 없음)
* array required, but java.lang.String found (배열이 있어야 할 곳에, 문자열 변수 하나만 달랑 있음)
이런 3가지 에러가 동시에 나게 됩니다.
문자열 배열 선언에서
String s[] =
이것과
String[] s =
이것은 똑같습니다.
만약 배열 요소의 범위를 초과하면, 즉 배열 요소가 3개밖에 없는데 4번째 요소에 접근하려고 하면
Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: n at Foo.main(Foo.java:nn) (배열 첨자가 배열 요소의 개수를 초과했음) 이라는 에러가 납니다.
▶▶ Java/자바] 2차원 문자열 배열 선언, new 연산자로 초기화; 2 Dimensional Array
문자 열, 배열 선언/초기화 예제
소스 파일명: Foo.java
class Foo {
public static void main(String args[]) {
// s 라는 문자열 배열 선언과 초기화
String s[] = { "Google", "Yahoo", "MSN", "땡칠이" };
// 배열의 모든 요소 화면에 출력
for (int i = 0; i < s.length; i++)
System.out.println(s[i]);
/////////////////////////////////////////////////////////////////
// 이렇게 하면 알아보기 쉽게 초기화할 수 있음
String names[] = { "맹구",
"배용준",
"땡칠이",
"장동건",
"강수정",
"송창식",
"황당해",
"고은아"};
// 배열의 모든 요소 화면에 출력
for (int i = 0; i < names.length; i++)
System.out.println(names[i]);
/////////////////////////////////////////////////////////////////
// new 연산자로, 10개의 문자열 오브젝트 미리 확보하기
String cool[] = new String[10];
for (int i = 0; i < cool.length; i++) {
cool[i] = "ㅎㅎ"; // 모든 요소들을 "ㅎㅎ" 라는 문자열로 채우고
System.out.format("%d = %s%n", i, cool[i]); // 출력하기
}
}
}
public static void main(String args[]) {
// s 라는 문자열 배열 선언과 초기화
String s[] = { "Google", "Yahoo", "MSN", "땡칠이" };
// 배열의 모든 요소 화면에 출력
for (int i = 0; i < s.length; i++)
System.out.println(s[i]);
/////////////////////////////////////////////////////////////////
// 이렇게 하면 알아보기 쉽게 초기화할 수 있음
String names[] = { "맹구",
"배용준",
"땡칠이",
"장동건",
"강수정",
"송창식",
"황당해",
"고은아"};
// 배열의 모든 요소 화면에 출력
for (int i = 0; i < names.length; i++)
System.out.println(names[i]);
/////////////////////////////////////////////////////////////////
// new 연산자로, 10개의 문자열 오브젝트 미리 확보하기
String cool[] = new String[10];
for (int i = 0; i < cool.length; i++) {
cool[i] = "ㅎㅎ"; // 모든 요소들을 "ㅎㅎ" 라는 문자열로 채우고
System.out.format("%d = %s%n", i, cool[i]); // 출력하기
}
}
}
실행 결과:
D:\Z>javac Foo.java && java Foo
Google
Yahoo
MSN
땡칠이
---
맹구
배용준
땡칠이
장동건
강수정
송창식
황당해
고은아
---
0 = ㅎㅎ
1 = ㅎㅎ
2 = ㅎㅎ
3 = ㅎㅎ
4 = ㅎㅎ
5 = ㅎㅎ
6 = ㅎㅎ
7 = ㅎㅎ
8 = ㅎㅎ
9 = ㅎㅎ
D:\Z>
Yahoo
MSN
땡칠이
---
맹구
배용준
땡칠이
장동건
강수정
송창식
황당해
고은아
---
0 = ㅎㅎ
1 = ㅎㅎ
2 = ㅎㅎ
3 = ㅎㅎ
4 = ㅎㅎ
5 = ㅎㅎ
6 = ㅎㅎ
7 = ㅎㅎ
8 = ㅎㅎ
9 = ㅎㅎ
D:\Z>
(편의상, --- 이런 기호로 출력 화면을 구분해 주었음)
String s
이렇게 선언하면, 문자열 배열이 아닌 그냥 문자열 변수 1개가 선언됩니다. [] 이런 대괄호를 붙여야 배열이 됩니다. 그렇지 않으면
* illegal initializer for java.lang.String (잘못된 초기화)
* cannot find symbol / symbol : variable length (length 라는 변수를 찾을 수 없음)
* array required, but java.lang.String found (배열이 있어야 할 곳에, 문자열 변수 하나만 달랑 있음)
이런 3가지 에러가 동시에 나게 됩니다.
문자열 배열 선언에서
String s[] =
이것과
String[] s =
이것은 똑같습니다.
만약 배열 요소의 범위를 초과하면, 즉 배열 요소가 3개밖에 없는데 4번째 요소에 접근하려고 하면
Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: n at Foo.main(Foo.java:nn) (배열 첨자가 배열 요소의 개수를 초과했음) 이라는 에러가 납니다.
▶▶ Java/자바] 2차원 문자열 배열 선언, new 연산자로 초기화; 2 Dimensional Array
tag: java
자바 | Java 프로그래밍
<< Home