코딩 스쿨 Java

언어선택 : HTMLCSSJAVAJAVASCRIPTMYSQLSQL PHP

Java String Methods

자바에서의 문자열 메서드 (Java String Methods)

자바에서 String 클래스는 문자열을 다루는 데 사용되며, 문자열 관련 작업을 위한 다양한 메서드를 제공합니다. 문자열은 불변(immutable) 객체이기 때문에, 문자열을 변경하는 모든 작업은 새로운 문자열을 반환합니다. 자바의 String 클래스에는 문자열의 길이를 구하거나, 특정 문자를 추출하거나, 문자열을 조작하는 등 다양한 메서드가 포함되어 있습니다.

1. 문자열 생성

자바에서는 문자열을 문자열 리터럴 또는 new 키워드를 사용해 생성할 수 있습니다.

문자열 생성 예제

public class Main {
    public static void main(String[] args) {
        // 문자열 리터럴을 사용하여 문자열 생성
        String str1 = "Hello, World!";

        // new 키워드를 사용하여 문자열 생성
        String str2 = new String("Hello, World!");

        System.out.println(str1);
        System.out.println(str2);
    }
}

2. 주요 문자열 메서드

2.1 length(): 문자열의 길이 구하기

length() 메서드는 문자열의 문자 개수를 반환합니다.

public class Main {
    public static void main(String[] args) {
        String str = "Hello, World!";
        int length = str.length();
        System.out.println("문자열의 길이: " + length);  // 출력: 13
    }
}

2.2 charAt(int index): 특정 인덱스의 문자 가져오기

charAt() 메서드는 문자열에서 특정 위치에 있는 문자를 반환합니다. 인덱스는 0부터 시작합니다.

public class Main {
    public static void main(String[] args) {
        String str = "Hello, World!";
        char ch = str.charAt(7);  // 7번째 문자: W
        System.out.println("7번째 문자: " + ch);  // 출력: W
    }
}

2.3 substring(int beginIndex, int endIndex): 부분 문자열 추출

substring() 메서드는 문자열에서 일부 구간의 문자열을 추출합니다. beginIndex부터 endIndex 전까지의 문자열을 반환합니다.

public class Main {
    public static void main(String[] args) {
        String str = "Hello, World!";
        String substr = str.substring(7, 12);  // 7번 인덱스부터 12번 인덱스 전까지 추출
        System.out.println("부분 문자열: " + substr);  // 출력: World
    }
}

2.4 toLowerCase()toUpperCase(): 소문자/대문자 변환

toLowerCase() 메서드는 문자열을 소문자로 변환하고, toUpperCase() 메서드는 문자열을 대문자로 변환합니다.

public class Main {
    public static void main(String[] args) {
        String str = "Hello, World!";
        String lower = str.toLowerCase();
        String upper = str.toUpperCase();

        System.out.println("소문자 변환: " + lower);  // 출력: hello, world!
        System.out.println("대문자 변환: " + upper);  // 출력: HELLO, WORLD!
    }
}

2.5 equals()equalsIgnoreCase(): 문자열 비교

equals() 메서드는 두 문자열의 내용이 같은지를 비교하며, 대소문자를 구분합니다. equalsIgnoreCase()는 대소문자를 구분하지 않고 문자열을 비교합니다.

public class Main {
    public static void main(String[] args) {
        String str1 = "Hello";
        String str2 = "hello";

        boolean isEqual = str1.equals(str2);  // 대소문자 구분 비교
        boolean isEqualIgnoreCase = str1.equalsIgnoreCase(str2);  // 대소문자 구분하지 않고 비교

        System.out.println("equals() 비교: " + isEqual);  // 출력: false
        System.out.println("equalsIgnoreCase() 비교: " + isEqualIgnoreCase);  // 출력: true
    }
}

2.6 contains(): 문자열 포함 여부 확인

contains() 메서드는 특정 문자열이 포함되어 있는지를 확인합니다. 포함되어 있으면 true, 그렇지 않으면 false를 반환합니다.

public class Main {
    public static void main(String[] args) {
        String str = "Hello, World!";
        boolean containsHello = str.contains("Hello");
        boolean containsJava = str.contains("Java");

        System.out.println("Hello 포함 여부: " + containsHello);  // 출력: true
        System.out.println("Java 포함 여부: " + containsJava);    // 출력: false
    }
}

2.7 startsWith()endsWith(): 시작 및 끝 문자열 확인

  • startsWith()는 문자열이 특정 문자열로 시작하는지를 확인합니다.
  • endsWith()는 문자열이 특정 문자열로 끝나는지를 확인합니다.
public class Main {
    public static void main(String[] args) {
        String str = "Hello, World!";
        boolean startsWithHello = str.startsWith("Hello");
        boolean endsWithWorld = str.endsWith("World!");

        System.out.println("Hello로 시작하는가? " + startsWithHello);  // 출력: true
        System.out.println("World!로 끝나는가? " + endsWithWorld);    // 출력: true
    }
}

2.8 indexOf(): 특정 문자열의 위치 찾기

indexOf() 메서드는 문자열에서 특정 문자열이나 문자가 처음으로 나타나는 위치의 인덱스를 반환합니다.

public class Main {
    public static void main(String[] args) {
        String str = "Hello, World!";
        int indexOfW = str.indexOf('W');  // W의 인덱스
        int indexOfHello = str.indexOf("Hello");  // Hello의 인덱스

        System.out.println("W의 위치: " + indexOfW);  // 출력: 7
        System.out.println("Hello의 위치: " + indexOfHello);  // 출력: 0
    }
}

2.9 replace(): 문자열 치환

replace() 메서드는 문자열에서 특정 문자나 문자열을 다른 문자나 문자열로 바꿀 때 사용됩니다.

public class Main {
    public static void main(String[] args) {
        String str = "Hello, World!";
        String replacedStr = str.replace("World", "Java");

        System.out.println("치환된 문자열: " + replacedStr);  // 출력: Hello, Java!
    }
}

2.10 trim(): 문자열 앞뒤 공백 제거

trim() 메서드는 문자열의 앞뒤에 있는 공백을 제거합니다. 문자열 중간의 공백은 제거되지 않습니다.

public class Main {
    public static void main(String[] args) {
        String str = "   Hello, World!   ";
        String trimmedStr = str.trim();

        System.out.println("공백 제거 전: [" + str + "]");
        System.out.println("공백 제거 후: [" + trimmedStr + "]");
    }
}

2.11 split(): 문자열을 구분자로 나누기

split() 메서드는 문자열을 구분자를 기준으로 나누어 배열로 반환합니다.

public class Main {
    public static void main(String[] args) {
        String str = "apple,banana,grape";
        String[] fruits = str.split(",");

        for (String fruit : fruits) {
            System.out.println(fruit);
        }
    }
}

출력:

apple
banana
grape

2.12 join(): 문자열 배열을 특정 구분자로 합치기

join() 메서드는 문자열 배열을 특정 구분자로 합쳐서 하나의 문자열로 반환합니다.

public class Main {
    public static void main(String[] args) {
        String[] words = {"Hello", "World", "Java"};
        String sentence = String.join(" ", words);

        System.out.println(sentence);  // 출력: Hello World Java
    }
}

2.13 isEmpty()isBlank(): 문자열 비어있는지 확인

  • isEmpty()는 문자열이 **빈 문자열("")**인지 확인합니다.
  • isBlank()는 문자열이 공백 문자로만 구성되어 있는지 확인합니다. (자바 11 이상)
public class Main {
    public static void main(String[] args) {
        String str1 = "";
        String str2 = "   ";

        System.out.println("str1 isEmpty: " + str1.isEmpty());  // true
        System.out.println("str2 isBlank: " + str2.isBlank());  // true (자바 11 이상)
    }
}

요약

자바의 **

String 클래스**는 문자열을 다루기 위한 다양한 메서드를 제공합니다. 주요 메서드는 다음과 같습니다:

  • 문자열의 길이, 일부분 추출, 특정 문자 찾기 등 기본 작업 (length(), substring(), charAt() 등)
  • 대소문자 변환, 문자열 비교, 문자열 포함 여부 확인 (toLowerCase(), equals(), contains() 등)
  • 공백 제거, 문자열 자르기치환 (trim(), split(), replace() 등)
  • 구분자로 문자열 합치기 (join())

이러한 메서드를 활용하면 자바에서 효율적으로 문자열을 조작하고 처리할 수 있습니다.


copyright ⓒ 스타트코딩 all rights reserved.
이메일 : startcodingim@gamil.com