자바 - 문자열: 초보자 가이드
안녕하세요, 미래의 자바 마법사들! ? 오늘은 자바 문자열의 흥미로운 세계로 여행을 떠날 거예요. 아직 코드를 한 줄도 작성해본 적이 없다고 해도 걱정 마세요 - 저희는 맨 처음부터 시작해서 점점 더 복잡한 내용으로 나아갈 거예요. 이 튜토리얼을 끝내면 자바 코드를 프로처럼 문자열로 연결할 수 있게 될 거예요! 그럼 시작해보죠!
문자열(String)이란?
코드를 작성하기 전에 문자열(String)이란 무엇인지 이해해볼 거예요. 자바에서 문자열은 단순히 문자들의 시퀀스입니다. 그것을 목걸이로 상상해보세요, 목걸이의 각 구슬이 문자 하나를 나타냅니다. 이 문자들은 글자, 숫자, 기호, 심지어 공백도 될 수 있습니다.
문자열 생성
먼저 문자열을 몇 개 만들어볼 거예요. 자바에서 문자열을 만드는 방법은 몇 가지가 있습니다:
String greeting = "こんにちは, 세계!";
String name = new String("앨리스");
첫 번째 줄에서는 greeting
이라는 문자열을 만들고 "こんにちは, 세계!"라는 값을 주고 있습니다. 이 방법은 문자열을 만드는 가장 일반적인 방법입니다.
두 번째 줄에서는 new
키워드를 사용하여 문자열 객체를 만들고 있습니다. 이 방법은 덜 일반적지만, 특정 상황에서 유용할 수 있습니다.
문자열의 길이
이제 문자열을 몇 개 가지고 있으니, 그 길이를 알아보죠. 자바는 이를 위한 편리한 메서드를 제공합니다:
String message = "자바는 재미있어!";
int length = message.length();
System.out.println("이 메시지는 " + length + " 글자입니다.");
이 코드를 실행하면 다음과 같은 출력이 나옵니다:
이 메시지는 13 글자입니다.
length()
메서드는 문자열의 모든 글자를 세어주며, 공백도 포함在内!
문자열 연결
연결은 문자열을 함께 결합하는 복잡한 용어입니다. 자바에서는 +
연산자를 사용하여 이를 할 수 있습니다:
String firstName = "존";
String lastName = "도";
String fullName = firstName + " " + lastName;
System.out.println(fullName);
이것은 다음과 같은 출력을 내줍니다:
존 도
먼저와 끝의 이름 사이에 공백 " "
를 추가했음을 주목하세요. 그렇지 않으면 "존도"라고 나올 테니까요!
형식 문자열 생성
때로는 특정 형식의 문자열을 만고 싶을 때가 있습니다. 자바는 이를 위해 String.format()
메서드를 제공합니다:
String name = "앨리스";
int age = 30;
String formatted = String.format("제 이름은 %s이고 저는 %d살입니다.", name, age);
System.out.println(formatted);
이것은 다음과 같은 출력을 내줍니다:
제 이름은 앨리스이고 저는 30살입니다.
이 예제에서는 %s
는 문자열의 자리 표시자, %d
는 정수의 자리 표시자입니다.
자바 문자열 클래스 메서드
자바의 문자열 클래스는 많은 유용한 메서드를 제공합니다. 몇 가지를 살펴보죠:
메서드 | 설명 | 예제 |
---|---|---|
charAt(int index) |
지정된 인덱스의 문자를 반환합니다 |
"こんにちは".charAt(1) 는 'に'를 반환합니다 |
substring(int beginIndex, int endIndex) |
문자열의 일부를 반환합니다 |
"こんにちは".substring(1, 4) 는 "にち"를 반환합니다 |
toLowerCase() |
모든 문자를 소문자로 변환합니다 |
"こんにちは".toLowerCase() 는 "こんにちは"를 반환합니다 |
toUpperCase() |
모든 문자를 대문자로 변환합니다 |
"こんにちは".toUpperCase() 는 "こんにちは"를 반환합니다 |
trim() |
문자열의 양쪽에서 공백을 제거합니다 |
" こんにちは ".trim() 는 "こんにちは"를 반환합니다 |
replace(char oldChar, char newChar) |
문자열에서 모든 문자를 교체합니다 |
"こんにちは".replace('こ', 'ご') 는 "こんにちは"를 반환합니다 |
startsWith(String prefix) |
문자열이 지정된 접두사로 시작하는지 확인합니다 |
"こんにちは".startsWith("こ") 는 true를 반환합니다 |
endsWith(String suffix) |
문자열이 지정된 접미사로 끝나는지 확인합니다 |
"こんにちは".endsWith("にち") 는 true를 반환합니다 |
이제 몇 가지 메서드를 동작하는 것을 보여드리죠:
String str = " 자바 프로그래밍 ";
System.out.println(str.trim().toLowerCase());
System.out.println(str.replace('자', '조'));
System.out.println(str.substring(2, 6));
이것은 다음과 같은 출력을 내줍니다:
자바 프로그래밍
조바 프로그래밍
자바
실제 세계 예제
이제 이 모든 것을 하나의 재미있는 프로그램으로 통합해보죠. 게임의 간단한 사용자 이름 생성기를 만들고정도로 상상해보죠:
public class UsernameGenerator {
public static void main(String[] args) {
String firstName = "마리오";
String lastName = "브로스";
int favoriteNumber = 64;
// 사용자 이름 생성
String username = firstName.substring(0, 3).toLowerCase() +
lastName.toUpperCase() +
String.format("%02d", favoriteNumber);
System.out.println("반갑습니다, " + firstName + "! 사용자 이름은: " + username);
}
}
이 프로그램을 실행하면 다음과 같은 출력이 나옵니다:
반갑습니다, 마리오! 사용자 이름은: 마브로스64
이제 이게 무슨 일이 일어나고 있는지 설명해드리죠:
- 우리는 이름의 처음 3 글자를 소문자로 만듭니다.
- 성을 대문자로 만듭니다.
- 즐겨찾는 숫자를 항상 두 자리로 포맷합니다(필요하다면 선행 0을 추가합니다).
- 이 모든 부분을 함께 연결합니다.
그리고 바로! 우리는 고유한 사용자 이름을 가질 수 있습니다.
결론
축하합니다! 자바 문자열의 세계에 첫 걸음을 내딛었습니다. 문자열을 만드는 방법, 길이를 찾는 방법, 문자열을 연결하는 방법, 문자열을 포맷하는 방법, 그리고 가장 일반적인 문자열 메서드들을 다루었습니다.
기억해두세요, 연습이 과정을 완벽하게 만듭니다. 이 개념들을 둘러싸이고 자신만의 예제를 만들어보고, 실수하지 않길 걱정하지 마세요 - 그게 우리가 배우는 방법이毕竟是요!
다음 수업에서는 자바 제어문을 다루고 프로그램을 더욱 동적으로 만들어갈 거예요. 그때까지 코딩을 계속하고 문자열로 놀아보세요!
Credits: Image by storyset