Skip to content

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

Description

@SeoMiYoung

문자열 전체를 바꿀 때

String s = "Hello World";

System.out.println(s.toUpperCase()); // "HELLO WORLD" (전부 대문자로)
System.out.println(s.toLowerCase()); // "hello world" (전부 소문자로)

문자(char) 하나만 바꿀 때

char c = 'a';
char upper = Character.toUpperCase(c); // 'A'
char lower = Character.toLowerCase(c); // 'a'
// 이때도 숫자를 넣으면 그대로 숫자 반환함 ('1' -> '1')

⚠️ 원본은 변하지 않는다!

Java의 String은 불변(Immutable) 객체입니다.
메서드를 호출한다고 해서 원래 변수 s의 값이 바뀌는 게 아닙니다. 반드시 변환된 결과를 다시 변수에 담아야 합니다.

String s = "abc";

s.toUpperCase();  // ❌ 이렇게만 쓰면 아무 일도 안 일어난 것과 같음!
System.out.println(s); // 결과: "abc" (여전히 소문자 😱)

// ✅ 올바른 사용법: 반환값을 다시 저장해야 함
s = s.toUpperCase(); 
System.out.println(s); // 결과: "ABC"

⚠️ 알파벳이 아닌 것(숫자, 특수문자, 한글 등)은 무시하고 그대로 둡니다.

에러가 나거나 사라지지 않습니다.

String s = "3rd Floor!"; // 숫자('3')와 특수문자('!') 포함

System.out.println(s.toUpperCase()); 
// 결과: "3RD FLOOR!" 
// -> 'r', 'd', 'f', 'l', 'o' 만 대문자로 바뀜. 나머진 그대로.

Metadata

Metadata

Assignees

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions