package CHAPTER08;

public class StringMethod { // String 클래스 메서드 활용 예제
    public static void main(String[] args) {
        String str = "  Hello, Java World!  ";

        // 1. 문자열 길이
        System.out.println("길이: " + str.length()); // 공백 포함 전체 길이

        // 2. 앞뒤 공백 제거
        String trimmed = str.trim();
        System.out.println("공백 제거 후: '" + trimmed + "'");

        // 3. 대소문자 변환
        System.out.println("소문자로: " + trimmed.toLowerCase()); // 전체 소문자
        System.out.println("대문자로: " + trimmed.toUpperCase()); // 전체 대문자

        // 4. 부분 문자열 추출 (0 ~ 4번 인덱스까지, "Hello")
        System.out.println("substring(0, 5): " + trimmed.substring(0, 5));

        // 5. 특정 문자열 포함 여부 확인
        System.out.println("contains(\"Java\"): " + trimmed.contains("Java")); // true

        // 6. 문자열 시작/끝 확인
        System.out.println("startsWith(\"Hello\"): " + trimmed.startsWith("Hello"));   // true
        System.out.println("endsWith(\"World!\"): " + trimmed.endsWith("World!"));     // true

        // 7. 특정 문자 또는 문자열의 위치 찾기
        System.out.println("indexOf('J'): " + trimmed.indexOf('J'));           // 7
        System.out.println("lastIndexOf('l'): " + trimmed.lastIndexOf('l'));   // 16

        // 8. 문자열 치환 (replace)
        String replaced = trimmed.replace("Java", "Python");
        System.out.println("Java → Python: " + replaced);

        // 9. 문자열 비교
        String a = "Test";
        String b = "test";
        System.out.println("equals: " + a.equals(b));                 // false (대소문자 구분)
        System.out.println("equalsIgnoreCase: " + a.equalsIgnoreCase(b)); // true (대소문자 무시)

        // 10. 문자열 분할 (split)
        String data = "apple,banana,grape";
        String[] fruits = data.split(",");
        System.out.println("split 결과:");
        for (String fruit : fruits) {
            System.out.println("- " + fruit);
        }

        // 11. 문자열 결합 (concat 또는 + 연산자)
        String hello = "Hello";
        String name = "Java";
        System.out.println("문자열 결합: " + hello.concat(" ").concat(name)); // concat() 방식
        System.out.println("문자열 결합 (+): " + hello + " " + name);         // + 연산자 방식
    }
}
