Java의 String 클래스는 문자열을 표현하는 데 사용됩니다. Java 프로그램에 등장하는 모든 문자열 리터럴은 String 클래스의 인스턴스로 구현됩니다. 또한 문자열은 상수(constant)로 취급되며, 한 번 생성되면 그 값을 변경할 수 없습니다. 이러한 특성을 불변(immutable)이라고 합니다.
문자열에서 각 단어의 첫 글자만 추출해 출력하고 싶다면, 문자열을 문자 배열로 변환한 뒤 공백을 기준으로 단어의 시작 위치를 판별하는 간단한 로직을 활용할 수 있습니다.
예제 코드
public class FirstCharacterPrintTest {
public static void main(String[] args) {
String str = "Welcome To Tutorials Point";
char c[] = str.toCharArray();
System.out.println("각 단어의 첫 글자:");
for (int i = 0; i < c.length; i++) {
// 문자열에서 각 단어의 첫 글자를 추출하는 로직
if(c[i] != ' ' && (i == 0 || c[i-1] == ' ')) {
System.out.println(c[i]);
}
}
}
}코드 설명
toCharArray() 메서드는 문자열을 문자 배열(char 배열)로 변환합니다. 이후 반복문을 돌면서 다음 두 조건을 동시에 만족하는 문자만 출력합니다.
- 현재 문자가 공백이 아니어야 합니다.
- 현재 문자가 문자열의 맨 앞이거나(
i == 0), 바로 앞 문자가 공백이어야 합니다(c[i-1] == ' '). 즉, 새로운 단어의 시작 지점이라는 의미입니다.
이 조건을 통해 문장 내 모든 단어의 첫 글자만 정확히 걸러낼 수 있습니다.
실행 결과
각 단어의 첫 글자: W T T P
위 실행 결과에서 볼 수 있듯이, "Welcome To Tutorials Point"라는 문장에서 각 단어의 첫 글자인 W, T, T, P가 순서대로 출력됩니다. 이 방식은 split() 없이도 공백 기준으로 단어를 구분할 수 있어, 간단한 문자열 처리 작업에 유용하게 활용됩니다.