1. 문자(char)
char c = 'a';
2. 문자열(String)
문자열 생성
String str = "hello";
String.valueOf(123);
char[] arr = {'h', 'i'};
String s = new String(arr);
문자열 연결
String a = "hello";
String b = "world";
String c = a + " " + b;
문자열 불변성
- String은 변경 불가. 변경 시 새 객체 생성
String str = "hello";
str = "hi"; // 새로운 객체
문자열 비교
- == : 참조 비교
- equals() : 값 비교
a.equals(b);
3. 주요 String 메서드
| 메서드 |
설명 |
| length() |
길이 반환 |
| charAt(i) |
특정 문자 추출 |
| indexOf('a') |
처음 위치 찾기 |
| lastIndexOf('a') |
마지막 위치 찾기 |
| substring(1, 4) |
부분 문자열 반환 |
| replace('a', 'b') |
문자 치환 |
| replaceAll("a", "b") |
정규식 치환 |
| contains("abc") |
포함 여부 확인 |
| split(" ") |
문자열 나누기 |
| trim() |
앞뒤 공백 제거 |
| toUpperCase() |
대문자로 변환 |
| toLowerCase() |
소문자로 변환 |
| toCharArray() |
문자 배열로 변환 |
| startsWith("a") |
시작 여부 확인 |
| endsWith("z") |
끝 여부 확인 |
4. StringBuilder
특징
- 변경 가능한 문자열 클래스
- String보다 성능 우수 (많은 변경 작업 시)
주요 메서드
| 메서드 |
설명 |
| append("str") |
문자열 추가 |
| insert(idx, "str") |
특정 위치에 삽입 |
| delete(s, e) |
범위 삭제 |
| deleteCharAt(i) |
문자 하나 삭제 |
| setCharAt(i, c) |
문자 교체 |
| reverse() |
문자열 뒤집기 |
| setLength(n) |
길이 변경 |
StringBuilder sb = new StringBuilder("Hi");
sb.append(" there").reverse();
System.out.println(sb);
5. 문자열 → 숫자 변환
- 정수, 실수 변환은 Wrapper 클래스 활용
int a = Integer.parseInt("123");
double b = Double.parseDouble("10.5");
String input = "3 -5 10.4";
String[] parts = input.split(" ");
int x = Integer.parseInt(parts[0]);
int y = Integer.parseInt(parts[1]);
double z = Double.parseDouble(parts[2]);