문자열을 문자 배열로 변환하는 메서드
String str = "Hello";
char[] arr = str.toCharArray(); // {'H', 'e', 'l', 'l', 'o'}
// for-each문으로 순회
for (char c : str.toCharArray()) {
System.out.println(c);
}
왜 사용?
문자(char)를 다루는 유틸리티 클래스
Character.isUpperCase('A'); // true
Character.isLowerCase('a'); // true
Character.toUpperCase('a'); // 'A'
Character.toLowerCase('A'); // 'a'
Character.isDigit('5'); // 숫자 판별
Character.isLetter('A'); // 문자 판별
Character.isWhitespace(' '); // 공백 판별
문자열을 효율적으로 조합할 때 사용
StringBuilder sb = new StringBuilder();
sb.append('H');
sb.append('i');
String result = sb.toString(); // "Hi"
String vs StringBuilder
// String 연결 (느림)
String str = "";
str += "a";
str += "b"; // 매번 새 객체 생성
// StringBuilder (빠름)
StringBuilder sb = new StringBuilder();
sb.append("a");
sb.append("b"); // 기존 객체 수정
import java.util.Scanner;
public class Solution {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
String a = sc.next();
StringBuilder result = new StringBuilder();
for (char c : a.toCharArray()) {
if (Character.isUpperCase(c)) {
result.append(Character.toLowerCase(c));
} else if (Character.isLowerCase(c)) {
result.append(Character.toUpperCase(c));
} else {
result.append(c); // 문자가 아니면 그대로
}
}
System.out.println(result.toString());
}
}
입력: HeLLo123
출력: hEllO123
String str = "Hello";
str.toUpperCase(); // "HELLO" - 전체 대문자
str.toLowerCase(); // "hello" - 전체 소문자
str.charAt(0); // 'H' - 인덱스로 문자 접근
str.length(); // 5 - 문자열 길이