1. λ¬Έμμ΄ λ€λ£¨κΈ°μ μ€μμ± μ΄ν΄νκΈ°
λ¬Έμμ΄μ νλ‘κ·Έλλ°μμ λΉλ²νκ² μ¬μ©λλ λ°μ΄ν° νμ μ€ νλμ λλ€. λ¬Έμμ΄μ ν μ€νΈ λ°μ΄ν°λ₯Ό νννλ©°, μ°λ¦¬ μΌμ μνμμλ λ§μ΄ μ νλ ννμ λλ€. μλ₯Ό λ€μ΄, μ¬μ©μλ‘λΆν° μ λ ₯λ°λ μ 보, νμΌμ λ΄μ©μ μ μ₯νλ κ² λ± λ€μν μν©μμ λ¬Έμμ΄μ λ€λ£¨κ² λ©λλ€.
λ¬Έμμ΄μ μ¬λ°λ₯΄κ² λ€λ£¨λ κ²μ νλ‘κ·Έλ¨μ μ±λ₯κ³Ό μ¬μ©μ κ²½νμ ν° μν₯μ λ―ΈμΉ©λλ€. λ¬Έμμ΄μ λ€λ£¨κΈ° μν΄μλ λ¬Έμμ΄μ μ‘°μνκ³ κ²μνλ©°, νμν μ 보λ₯Ό μΆμΆνλ λ± λ€μν μμ μ μνν μ μμ΄μΌ ν©λλ€. μ΄λ₯Ό μν΄μλ λ¬Έμμ΄ λ€λ£¨κΈ°μ λν μ΄ν΄μ μ μ ν κΈ°μ μ μ΅λνλ κ²μ΄ μ€μν©λλ€.
μ΄λ² κΈμμλ λ¬Έμμ΄ λ€λ£¨κΈ°λ₯Ό μν΄ μλ°μμ μ 곡νλ String ν΄λμ€λ₯Ό μκ°νκ³ , μ£Όμ λ©μλμ μ¬μ© μμ λ₯Ό μ΄ν΄λ³΄κ² μ΅λλ€. λν, λ¬Έμμ΄ λ€λ£¨κΈ°μ μ μ©ν νκ³Ό μ£Όμμ¬νμ λν΄μλ μμλ³Ό κ²μ λλ€. μ΄λ₯Ό ν΅ν΄ λ¬Έμμ΄μ ν¨κ³Όμ μΌλ‘ λ€λ£¨κ³ νλ‘κ·Έλλ°μ μ μ©νκ² νμ©ν μ μμ΅λλ€.
2. String ν΄λμ€ μκ°
μλ°μμ λ¬Έμμ΄μ λ€λ£¨κΈ° μν΄μλ String ν΄λμ€λ₯Ό μ¬μ©ν©λλ€. Stringμ μλ°μμ κΈ°λ³Έμ μΌλ‘ μ 곡λλ ν΄λμ€λ‘, λ¬Έμμ΄μ νννκ³ μ‘°μνλ λ° μ¬μ©λ©λλ€. String ν΄λμ€λ λΆλ³(immutable)μ΄λ―λ‘ ν λ² μμ±λ λ¬Έμμ΄μ λ³κ²½ν μ μμ΅λλ€. κ·Έλ¬λ―λ‘ λ¬Έμμ΄μ μ‘°μνκ³ μμ νλ μμ μ νμ μλ‘μ΄ λ¬Έμμ΄μ λ°νν©λλ€.
String ν΄λμ€λ μλ°μ λ΄μ₯ λ©μλλ₯Ό ν΅ν΄ λ€μν λ¬Έμμ΄ μ°μ°μ μ 곡ν©λλ€. μ΄λ₯Ό ν΅ν΄ λ¬Έμμ΄ λΉκ΅, κ²μ, μΆμΆ, λ³ν©, λΆλ¦¬ λ±μ μμ μ μνν μ μμ΅λλ€. λν, λ¬Έμμ΄μ κΈΈμ΄λ₯Ό μ μ μκ³ , λ¬Έμμ΄μ λ/μλ¬Έμλ‘ λ³νν μλ μμ΅λλ€.
String ν΄λμ€μ κ°μ²΄λ μμ±λ νμλ λ΄μ©λ¬Όμ λ³κ²½ν μ μμΌλ―λ‘ λ¬Έμμ΄ μ‘°μμ κ²°κ³Όλ νμ μλ‘μ΄ λ¬Έμμ΄μ λ°ννλ κ²μ μ μν΄μΌ ν©λλ€. μ΄λ¬ν νΉμ±μ λ¬Έμμ΄μ μμ μ±μ 보μ₯νκ³ μμμΉ λͺ»ν λ²κ·Έλ₯Ό λ°©μ§νλ λ°μ λμμ μ€λλ€.
μλ°μμ λ¬Έμμ΄μ λ€λ£° λλ String ν΄λμ€μ λ©μλλ₯Ό μ μ ν νμ©νμ¬ μνλ μμ μ μννλ κ²μ΄ μ€μν©λλ€. λ€μ λ¨λ½μμλ String ν΄λμ€μ μ£Όμ λ©μλμ λν΄ μμΈν μμλ³΄κ² μ΅λλ€.
3. String ν΄λμ€μ μ£Όμ λ©μλ
String ν΄λμ€λ λ€μν λ¬Έμμ΄ μ°μ°μ μ 곡νμ¬ λ¬Έμμ΄μ λ€λ£° μ μκ² ν΄μ€λλ€. μ¬κΈ°μμλ λͺ κ°μ§ μ£Όμν λ©μλλ₯Ό μ΄ν΄λ³΄κ² μ΅λλ€.
3.1. length()
length()
λ©μλλ λ¬Έμμ΄μ κΈΈμ΄λ₯Ό λ°νν©λλ€. μλ₯Ό λ€μ΄, λ€μκ³Ό κ°μ΄ μ¬μ©ν μ μμ΅λλ€:
String str = "Hello World";
int length = str.length(); // 11
3.2. charAt(int index)
charAt(int index)
λ©μλλ μ§μ λ μΈλ±μ€μ ν΄λΉνλ λ¬Έμλ₯Ό λ°νν©λλ€. μΈλ±μ€λ 0λΆν° μμνλ©°, λ¬Έμμ΄μ λμ λνλ΄λ μΈλ±μ€λ length() - 1
μ
λλ€. μλ₯Ό λ€μ΄:
String str = "Hello World";
char firstChar = str.charAt(0); // 'H'
char lastChar = str.charAt(str.length() - 1); // 'd'
3.3. substring(int beginIndex, int endIndex)
substring(int beginIndex, int endIndex)
λ©μλλ μ£Όμ΄μ§ λ²μμ ν΄λΉνλ λ¬Έμμ΄μ λ°νν©λλ€. beginIndex
λ ν¬ν¨λκ³ , endIndex
λ ν¬ν¨λμ§ μμ΅λλ€. μλ₯Ό λ€μ΄:
String str = "Hello World";
String sub = str.substring(0, 5); // "Hello"
3.4. indexOf(String str)
indexOf(String str)
λ©μλλ μ£Όμ΄μ§ λ¬Έμμ΄μ΄ μ²μμΌλ‘ λ±μ₯νλ μμΉμ μΈλ±μ€λ₯Ό λ°νν©λλ€. ν΄λΉ λ¬Έμμ΄μ΄ μλ κ²½μ°μλ -1μ λ°νν©λλ€. μλ₯Ό λ€μ΄:
String str = "Hello World";
int index = str.indexOf("World"); // 6
int nonExistingIndex = str.indexOf("Java"); // -1
3.5. replace(char oldChar, char newChar)
replace(char oldChar, char newChar)
λ©μλλ μ£Όμ΄μ§ λ¬Έμμ΄μμ νΉμ λ¬Έμλ₯Ό λ€λ₯Έ λ¬Έμλ‘ λ³κ²½ν μλ‘μ΄ λ¬Έμμ΄μ λ°νν©λλ€. μλ₯Ό λ€μ΄:
String str = "Hello World";
String replacedStr = str.replace('o', 'i'); // "Helli Wirld"
3.6. toUpperCase() / toLowerCase()
toUpperCase()
λ©μλλ λ¬Έμμ΄μ λͺ¨λ λλ¬Έμλ‘ λ³νν μλ‘μ΄ λ¬Έμμ΄μ λ°νν©λλ€. toLowerCase()
λ©μλλ λ¬Έμμ΄μ λͺ¨λ μλ¬Έμλ‘ λ³νν μλ‘μ΄ λ¬Έμμ΄μ λ°νν©λλ€. μλ₯Ό λ€μ΄:
String str = "Hello World";
String upperCaseStr = str.toUpperCase(); // "HELLO WORLD"
String lowerCaseStr = str.toLowerCase(); // "hello world"
μμμ μ€λͺ ν λ©μλ μΈμλ String ν΄λμ€λ λ€μν λ©μλλ₯Ό μ 곡νλ©°, μ΄λ₯Ό νμ©νμ¬ λ¬Έμμ΄μ λ€μνκ² μ‘°μν μ μμ΅λλ€. μ΄λ² μ₯μμλ μ£Όμ λ©μλλ§μ μκ°νμΌλ, μμΈν λ΄μ©μ 곡μ λ¬Έμλ₯Ό μ°Έκ³ νκΈ°λ₯Ό κΆμ₯ν©λλ€.
4. String ν΄λμ€ μ¬μ© μμ
String ν΄λμ€λ λ¬Έμμ΄μ μ‘°μνκ³ λ€λ£¨λ λ°μ μ μ©ν λ€μν λ©μλλ₯Ό μ 곡ν©λλ€. λ€μμ String ν΄λμ€μ μΌλΆ λ©μλλ₯Ό μ¬μ©ν μμ μ λλ€.
4.1. λ¬Έμμ΄ κΈΈμ΄ κ΅¬νκΈ°
String str = "Hello World";
int length = str.length();
System.out.println("λ¬Έμμ΄μ κΈΈμ΄: " + length); // μΆλ ₯: "λ¬Έμμ΄μ κΈΈμ΄: 11"
4.2. λ¬Έμ μΆμΆνκΈ°
String str = "Hello World";
char firstChar = str.charAt(0);
char lastChar = str.charAt(str.length() - 1);
System.out.println("첫 λ²μ§Έ λ¬Έμ: " + firstChar); // μΆλ ₯: "첫 λ²μ§Έ λ¬Έμ: H"
System.out.println("λ§μ§λ§ λ¬Έμ: " + lastChar); // μΆλ ₯: "λ§μ§λ§ λ¬Έμ: d"
4.3. λ¬Έμμ΄ μλ₯΄κΈ°
String str = "Hello World";
String sub = str.substring(0, 5);
System.out.println("μΆμΆλ λ¬Έμμ΄: " + sub); // μΆλ ₯: "μΆμΆλ λ¬Έμμ΄: Hello"
4.4. λ¬Έμμ΄ κ²μνκΈ°
String str = "Hello World";
int index = str.indexOf("World");
System.out.println("κ²μλ μμΉ: " + index); // μΆλ ₯: "κ²μλ μμΉ: 6"
4.5. λ¬Έμμ΄ λ체νκΈ°
String str = "Hello World";
String replacedStr = str.replace('o', 'i');
System.out.println("λ체λ λ¬Έμμ΄: " + replacedStr); // μΆλ ₯: "λ체λ λ¬Έμμ΄: Helli Wirld"
4.6. λλ¬Έμ λ³ννκΈ°
String str = "Hello World";
String upperCaseStr = str.toUpperCase();
System.out.println("λλ¬Έμ λ³ν: " + upperCaseStr); // μΆλ ₯: "λλ¬Έμ λ³ν: HELLO WORLD"
4.7. μλ¬Έμ λ³ννκΈ°
String str = "Hello World";
String lowerCaseStr = str.toLowerCase();
System.out.println("μλ¬Έμ λ³ν: " + lowerCaseStr); // μΆλ ₯: "μλ¬Έμ λ³ν: hello world"
μμ μμ λ String ν΄λμ€μ λͺ κ°μ§ μ£Όμ λ©μλλ₯Ό μ¬μ©νμ¬ λ¬Έμμ΄μ λ€λ£¨λ λ€μν μμ μ μννλ λ°©λ²μ 보μ¬μ€λλ€. μ΄λ¬ν λ©μλλ₯Ό μ μ ν μ‘°ν©νμ¬ λ¬Έμμ΄μ μνλ λλ‘ μ‘°μν μ μμ΅λλ€.
5. λ¬Έμμ΄ λ€λ£¨κΈ°μ λν μ μ©ν ν λ° μ£Όμ μ¬ν μ΄ν΄νκΈ°
λ¬Έμμ΄μ μλ° νλ‘κ·Έλλ°μμ λ§€μ° μ€μνλ©° λΉλ²νκ² μ¬μ©λλ λ°μ΄ν° νμμ λλ€. λ¬Έμμ΄μ λ€λ£¨λ λ°μλ μ μ©ν νκ³Ό μ£Όμν΄μΌ ν μ¬νμ΄ λͺ κ°μ§ μμ΅λλ€.
5.1. String ν΄λμ€μ λ¬Έμμ΄ λΆλ³μ±
String ν΄λμ€λ λΆλ³(immutable) ν΄λμ€μ
λλ€. μ΄λ νλ² μμ±λ λ¬Έμμ΄μ λ³κ²½ν μ μλ€λ κ²μ μλ―Έν©λλ€. λ°λΌμ λ¬Έμμ΄μ μ‘°μνλ λλΆλΆμ λ©μλλ μλ‘μ΄ λ¬Έμμ΄μ λ°νν©λλ€. μλ₯Ό λ€μ΄, substring()
λ©μλλ‘ λ¬Έμμ΄μ μλ₯΄κ±°λ, replace()
λ©μλλ‘ λ¬Έμλ₯Ό λ체νλ©΄ μλ³Έ λ¬Έμμ΄μ λ³κ²½λμ§ μκ³ μλ‘μ΄ λ¬Έμμ΄μ΄ μμ±λ©λλ€.
String str = "Hello World";
String sub = str.substring(0, 5); // "Hello"
System.out.println(str); // μΆλ ₯: "Hello World"
5.2. λ¬Έμμ΄κ³Ό μ°μ°μ '+'
λ¬Έμμ΄κ³Ό λ€λ₯Έ λ°μ΄ν° νμμ μ°κ²°ν λλ '+' μ°μ°μλ₯Ό μ¬μ©ν μ μμ΅λλ€. μ΄λ₯Ό λ¬Έμμ΄ μ°κ²°(concatenation)μ΄λΌκ³ ν©λλ€.
String str1 = "Hello";
String str2 = "World";
String message = str1 + " " + str2; // "Hello World"
5.3. λ¬Έμμ΄μ λΉκ΅
λ¬Έμμ΄μ λ΄μ©μ λΉκ΅ν λλ equals()
λ©μλλ₯Ό μ¬μ©ν΄μΌ ν©λλ€. '==' μ°μ°μλ λ¬Έμμ΄μ λ΄μ©μ΄ μλ μ°Έμ‘°λ₯Ό λΉκ΅νλ―λ‘ μνλ κ²°κ³Όλ₯Ό μ»μ μ μμ΅λλ€.
String str1 = "Hello";
String str2 = "Hello";
if (str1.equals(str2)) {
System.out.println("λ λ¬Έμμ΄μ κ°μ΅λλ€.");
}
5.4. λ¬Έμμ΄μ 곡백 μ κ±°
λ¬Έμμ΄ μλ€μ μλ 곡백μ μ κ±°νκΈ° μν΄ trim()
λ©μλλ₯Ό μ¬μ©ν μ μμ΅λλ€.
String str = " Hello World ";
String trimmedStr = str.trim(); // "Hello World"
5.5. λ¬Έμμ΄μ ν¬λ§· μ§μ
λ¬Έμμ΄μ ν¬λ§·μ μ§μ νκΈ° μν΄ String.format()
λ©μλλ₯Ό μ¬μ©ν μ μμ΅λλ€. μ΄λ₯Ό ν΅ν΄ μ«μ νμμ΄λ λ μ§ νμ λ±μ μνλ ννλ‘ λ³νν μ μμ΅λλ€.
int number = 12345;
String formattedNumber = String.format("%,d", number); // "12,345"
μμ νκ³Ό μ£Όμ μ¬νμ μμ§νλ©΄ λ¬Έμμ΄μ ν¨κ³Όμ μΌλ‘ λ€λ£° μ μμΌλ©°, μλ° νλ‘κ·Έλλ°μμ λ¬Έμμ΄μ λ€λ£° λ μ μ©νκ² νμ©ν μ μμ΅λλ€.
λκΈ