본문 바로가기

카테고리 없음

String 클래스를 사용하여 문자열을 다루는 방법과 예제를 총정리한다.

1. String 클래스 소개

String 클래스는 자바에서 문자열을 다루기 위해 제공되는 클래스입니다. 이 클래스는 문자열을 생성하고 초기화하며, 문자열 연산과 비교, 검색, 분할 등 다양한 문자열 조작 작업을 할 수 있습니다. String 클래스는 불변(immutable) 객체이기 때문에 한 번 생성된 문자열은 변경할 수 없습니다. 따라서 문자열 연산이 필요한 경우에는 새로운 String 객체를 생성하게 됩니다. 이번 장에서는 String 클래스의 기본적인 사용법과 주요 메소드들에 대해 알아보겠습니다.

2. 문자열 생성과 초기화

문자열은 다양한 방법으로 생성하고 초기화할 수 있습니다. 가장 간단한 방법은 큰따옴표(")로 둘러싸인 문자열 리터럴을 사용하는 것입니다. 다음은 문자열 리터럴로 문자열을 생성하는 예시입니다:

String str1 = "Hello"; // 문자열 리터럴로 생성

또한 new 키워드를 사용하여 String 객체를 생성하고 초기화할 수도 있습니다. new 키워드를 사용하면 새로운 String 객체가 생성되고, 문자열의 내용을 초기화할 수 있습니다:

String str2 = new String("Hello"); // new 키워드로 String 객체 생성

문자열은 한 번 생성되면 변경할 수 없는 불변(immutable) 객체이기 때문에 한 번 생성된 문자열은 변경할 수 없습니다. 따라서 문자열 연산이 필요한 경우 새로운 String 객체를 생성해야 합니다. 예를 들어, 다음과 같이 문자열을 연결할 수 있습니다:

String str3 = "Hello";
String str4 = "World";
String combined = str3 + " " + str4; // 문자열을 연결하여 새로운 문자열 생성

또한, 문자열은 문자 배열로도 초기화할 수 있습니다:

char[] charArray = {'H', 'e', 'l', 'l', 'o'};
String str5 = new String(charArray); // 문자 배열을 이용하여 초기화

이 외에도 다양한 방법으로 문자열을 생성하고 초기화할 수 있습니다. 이번 장에서는 문자열 연결과 분할, 그리고 문자열 메소드들에 대해 더 자세히 알아보겠습니다.

3. 문자열 연결과 분할

3.1 문자열 연결

String 클래스는 문자열 연결을 위해 + 연산자를 제공합니다. + 연산자를 사용하여 문자열을 연결하면 새로운 문자열이 생성됩니다. 다음은 문자열 연결의 예시입니다:

String str1 = "Hello";
String str2 = "World";
String result = str1 + " " + str2; // 문자열을 연결하여 새로운 문자열 생성

위의 예시에서는 str1과 str2를 + 연산자를 사용하여 공백을 포함한 새로운 문자열을 생성하였습니다. 결과적으로 result 변수에는 "Hello World"가 저장됩니다.

3.2 문자열 분할

String 클래스는 문자열을 분할하기 위한 여러 메소드를 제공합니다. 가장 많이 사용되는 메소드 중 하나는 split() 메소드입니다. split() 메소드는 지정된 구분자를 기준으로 문자열을 분할하여 문자열 배열로 반환합니다. 다음은 split() 메소드의 예시입니다:

String str = "Hello,World";
String[] splitArray = str.split(","); // 구분자(,)를 기준으로 문자열 분할

위의 예시에서는 str을 ","를 구분자로 사용하여 문자열을 분할하였습니다. 결과적으로 splitArray 배열에는 ["Hello", "World"]가 저장됩니다.

또한, String 클래스는 다양한 다른 메소드들도 제공합니다. 예를 들어, substring() 메소드는 문자열의 일부분을 추출하고, replace() 메소드는 지정된 문자나 패턴을 다른 문자나 패턴으로 대체할 수 있습니다. 이 외에도 많은 문자열 조작 메소드들이 제공되고 있으니 필요한 기능에 따라 메소드를 사용할 수 있습니다.

이제는 문자열을 검색하고 조작하는 메소드들에 대해 더 자세히 알아보겠습니다.