어제 오늘 내일

[Java String] toUpperCase(), toLowerCase() – 대소문자 변환하기 본문

IT/Java

[Java String] toUpperCase(), toLowerCase() – 대소문자 변환하기

hi.anna 2025. 9. 19. 12:44

문자열을 다루다 보면 모든 문자를 대문자 또는 소문자로 변환해야 할 때가 많습니다.
검색, 비교, 출력 형식統一 등 다양한 상황에서 활용되는 메서드가 바로 toUpperCase()toLowerCase()입니다.

 

1. toUpperCase()

public String toUpperCase()
public String toUpperCase(Locale locale)
  • 문자열을 모두 대문자로 변환
  • 기본 메서드는 시스템의 **기본 로케일(locale)**을 사용
  • 로케일을 직접 지정할 수도 있음
String str = "Java Programming";
System.out.println(str.toUpperCase()); 
// JAVA PROGRAMMING

👉 영문뿐만 아니라 한글/다국어에도 적용 가능하지만, 언어별 특수 규칙이 있으므로 로케일 지정이 중요할 때가 있습니다.

String turkish = "i";
System.out.println(turkish.toUpperCase());                // I (기본 로케일)
System.out.println(turkish.toUpperCase(Locale.forLanguageTag("tr"))); 
// İ (터키어 규칙 적용)

 

2. toLowerCase()

public String toLowerCase()
public String toLowerCase(Locale locale)
  • 문자열을 모두 소문자로 변환
String str = "HELLO WORLD";
System.out.println(str.toLowerCase()); 
// hello world

👉 마찬가지로 다국어 변환 시에는 로케일 지정이 필요할 수 있습니다.

 

3. 실전 활용 예제

대소문자 구분 없는 검색

String keyword = "java";
String title = "Java Programming Tutorial";

if (title.toLowerCase().contains(keyword.toLowerCase())) {
    System.out.println("검색어 일치!");
}

👉 equalsIgnoreCase()와 마찬가지로, 검색이나 필터링에서 대소문자 무시 처리가 가능합니다.

사용자 입력 표준화

Scanner sc = new Scanner(System.in);
System.out.print("동의하시겠습니까? (YES/NO): ");
String input = sc.nextLine();

if (input.toUpperCase().equals("YES")) {
    System.out.println("동의 확인!");
}

👉 입력이 "yes", "Yes", "YES"여도 전부 "YES"로 변환 후 비교 가능.

출력 형식 맞추기

String name = "john doe";
System.out.println(name.toUpperCase()); // JOHN DOE

👉 데이터베이스 검색이나 로그 출력 시 형식을 통일하는 데 자주 쓰입니다.

 

4. 정리

  • toUpperCase() → 문자열을 전부 대문자로
  • toLowerCase() → 문자열을 전부 소문자로
  • 언어별 대소문자 규칙이 달라서 로케일 지정 가능
  • 검색, 비교, 출력 형식統一 등에서 필수 메서드

👉 문자열을 비교하거나 처리할 때 대소문자를 무시하려면 toUpperCase() / toLowerCase()로 변환해 표준화하자!

 

 

반응형
Comments