자바 - 문자열: 초보자 가이드

안녕하세요, 미래의 자바 마법사들! ? 오늘은 자바 문자열의 흥미로운 세계로 여행을 떠날 거예요. 아직 코드를 한 줄도 작성해본 적이 없다고 해도 걱정 마세요 - 저희는 맨 처음부터 시작해서 점점 더 복잡한 내용으로 나아갈 거예요. 이 튜토리얼을 끝내면 자바 코드를 프로처럼 문자열로 연결할 수 있게 될 거예요! 그럼 시작해보죠!

Java - Strings

문자열(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

이제 이게 무슨 일이 일어나고 있는지 설명해드리죠:

  1. 우리는 이름의 처음 3 글자를 소문자로 만듭니다.
  2. 성을 대문자로 만듭니다.
  3. 즐겨찾는 숫자를 항상 두 자리로 포맷합니다(필요하다면 선행 0을 추가합니다).
  4. 이 모든 부분을 함께 연결합니다.

그리고 바로! 우리는 고유한 사용자 이름을 가질 수 있습니다.

결론

축하합니다! 자바 문자열의 세계에 첫 걸음을 내딛었습니다. 문자열을 만드는 방법, 길이를 찾는 방법, 문자열을 연결하는 방법, 문자열을 포맷하는 방법, 그리고 가장 일반적인 문자열 메서드들을 다루었습니다.

기억해두세요, 연습이 과정을 완벽하게 만듭니다. 이 개념들을 둘러싸이고 자신만의 예제를 만들어보고, 실수하지 않길 걱정하지 마세요 - 그게 우리가 배우는 방법이毕竟是요!

다음 수업에서는 자바 제어문을 다루고 프로그램을 더욱 동적으로 만들어갈 거예요. 그때까지 코딩을 계속하고 문자열로 놀아보세요!

Credits: Image by storyset