본문 바로가기
알고리즘

String 다루는 메서드들 정리

by 발빠진 쥐 2026. 5. 25.

Java 문자열 관련 정리


1. 선언

String s = "hello";
char[] arr = {'h', 'e', 'l', 'l', 'o'};

2. 자주 쓰는 메서드

String s = "hello world";

s.length()          // 길이 → 11
s.charAt(0)         // 특정 인덱스 문자 → 'h'
s.substring(0, 5)   // 부분 문자열 → "hello"
s.contains("world") // 포함 여부 → true
s.equals("hello")   // 문자열 비교 → false  (== 쓰면 안됨!)
s.indexOf("world")  // 위치 찾기 → 6
s.replace("l", "L") // 치환 → "heLLo worLd"
s.toUpperCase()     // 대문자 → "HELLO WORLD"
s.toLowerCase()     // 소문자 → "hello world"
s.trim()            // 앞뒤 공백 제거 → "hello world"
s.split(" ")        // 분리 → ["hello", "world"]

3. 타입 변환

// String → int
int n = Integer.parseInt("123");

// String → long
long n = Long.parseLong("123");

// String → double
double n = Double.parseDouble("3.14");

// int → String
String s = String.valueOf(123);
String s = Integer.toString(123);

// char → String
String s = String.valueOf('a');

// String → char[]
char[] arr = "hello".toCharArray();

// char[] → String
String s = new String(arr);

4. 문자열 합치기 (StringBuilder)

// 이렇게 하면 느림 (매번 새 객체 생성)
String s = "";
s += "a";
s += "b";

// 이렇게 해야 빠름
StringBuilder sb = new StringBuilder();
sb.append("a");
sb.append("b");
sb.append('\n');       // char도 가능
sb.append(123);        // int도 가능
String result = sb.toString(); // 최종 String으로 변환

5. 문자(char) 관련

char c = 'A';

Character.isLetter(c)    // 문자인지 → true
Character.isDigit(c)     // 숫자인지 → false
Character.isUpperCase(c) // 대문자인지 → true
Character.isLowerCase(c) // 소문자인지 → false
Character.toUpperCase(c) // 대문자로 → 'A'
Character.toLowerCase(c) // 소문자로 → 'a'

// 알파벳 순서 계산
int order = c - 'A';  // 'A'=0, 'B'=1, 'C'=2 ...
int order = c - 'a';  // 'a'=0, 'b'=1, 'c'=2 ...
int order = c - '0';  // '0'=0, '1'=1, '2'=2 ... (문자→숫자)

6. 백준에서 자주 쓰는 패턴

// 한 줄 통째로 읽기
String line = br.readLine();

// 공백으로 나눠서 읽기
StringTokenizer st = new StringTokenizer(br.readLine());
String token = st.nextToken();

// 문자 하나씩 순회
for (int i = 0; i < s.length(); i++) {
    char c = s.charAt(i);
}

// char 배열로 바꿔서 수정 후 다시 String으로
char[] arr = s.toCharArray();
arr[0] = 'X';
String result = new String(arr);