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

안녕하세요, 미래의 자바 개발자 여러분! 오늘 우리는 자바 문자열의 세계로 흥미로운 여정을 떠납니다. 코드를 한 줄도 작성해본 적이 없어도 걱정하지 마세요 - 우리는 매우 기초적인 부분부터 시작하여 차례대로 공부할 것입니다. 이 튜토리얼의 끝까지 따라오면, 자바 문자열을 마치 프로처럼 다룰 수 있을 것입니다! 시작해보겠습니다!

Java - Strings

자바에서 문자열은 무엇인가요?

친구에게 편지를 쓰는 상상해보세요. 편지지에 적는 단어들은 자바에서의 문자열과 같습니다. 프로그래밍 용어로, 문자열은 문자의序列입니다. 단어 하나, 문장, 혹은 전체 문단이 될 수 있습니다. 자바에서 문자열은 객체입니다. 즉, 우리가 조작할 수 있는 특별한 능력(메서드)을 가지고 있습니다.

문자열 생성

자바에서 문자열을 생성하는 것은 쉽습니다. 문장을 따로 쓰는 것만큼 간단합니다. 예제를 몇 가지 보겠습니다:

String greeting = "Hello, World!";
String name = "Alice";
String empty = "";

위의 코드에서 우리는 세 가지 문자열을 생성했습니다:

  1. greeting은 전통적인 프로그래머의 인사를 담고 있습니다.
  2. name은 사람의 이름을 담고 있습니다.
  3. empty은 빈 문자열입니다 (네, 그것도 허용됩니다.).

문자 배열로 문자열 생성

때로는 개별 문자로 문자열을 생성하고 싶을 수 있습니다. 자바는 char 배열을 사용하여 이를 가능하게 합니다. 다음은 예제입니다:

char[] helloArray = {'H', 'e', 'l', 'l', 'o'};
String helloString = new String(helloArray);
System.out.println(helloString);

출력

Hello

이 예제에서 우리는 "Hello"를 스크래블 타일로 퍼즐을 풀듯이 문자 배열을 만들어 새로운 문자열을 생성했습니다.

문자열 길이

단어의 글자 수를数을 수 있는 것처럼, 자바는 문자열의 문자 수를 찾는 방법을 제공합니다. 우리는 length() 메서드를 사용합니다.

String sentence = "Java is awesome!";
int length = sentence.length();
System.out.println("The length of the sentence is: " + length);

출력

The length of the sentence is: 17

띄어쓰기도 문자로 계산됩니다! 그래서 "Java is awesome!"의 길이는 17입니다.

문자열 결합

결합은 문자열을 함께 이어붙이는 복잡한 단어입니다. 자바에서는 + 연산자를 사용하여 이를 수행할 수 있습니다. 문장을 만들기 위해 단어를 붙이는 것과 같습니다!

String firstName = "John";
String lastName = "Doe";
String fullName = firstName + " " + lastName;
System.out.println(fullName);

출력

John Doe

둘째 이름과 첫째 이름 사이에 공백 " "를 추가한 것을 주목하세요. 그렇지 않으면 "JohnDoe"가 됩니다!

포맷된 문자열 생성

때로는 특정 형식의 문자열을 생성하고 싶을 수 있습니다. 숫자나 다른 변수를 포함할 수 있습니다. 자바의 String.format() 메서드는 이에 완벽하게 적합합니다. 마드리브스 게임에서 블랭크를 채우는 것과 같습니다!

String name = "Alice";
int age = 25;
String formatted = String.format("My name is %s and I am %d years old.", name, age);
System.out.println(formatted);

출력

My name is Alice and I am 25 years old.

이 예제에서 %s는 문자열에 대한 占位符이고, %d는 정수에 대한 占位符입니다. format() 메서드는 이를 nameage의 값을로 대체합니다.

문자열 메서드

자바의 문자열은 유용한 메서드가 가득한 도구 상자를 가지고 있습니다. 가장 흔히 사용되는 몇 가지를 소개하겠습니다:

메서드 설명 예제
toLowerCase() 모든 문자를 소문자로 변환 "HELLO".toLowerCase() → "hello"
toUpperCase() 모든 문자를 대문자로 변환 "hello".toUpperCase() → "HELLO"
trim() 양쪽의 공백을 제거 " hi ".trim() → "hi"
substring(int beginIndex, int endIndex) 문자열의 일부를 추출 "Hello".substring(1, 4) → "ell"
charAt(int index) 지정된 인덱스의 문자를 반환 "Java".charAt(0) → 'J'
equals(Object obj) 이 문자열을 다른 객체와 비교 "hello".equals("hello") → true
contains(CharSequence s) 문자열에 문자序列가 포함되어 있는지 확인 "Hello".contains("ell") → true
replace(char oldChar, char newChar) 모든 문자 발생을 치환 "Hello".replace('l', 'w') → "Hewwo"

이제 몇 가지 메서드를 활용해보겠습니다:

String str = "  Java Programming  ";
System.out.println(str.toLowerCase());
System.out.println(str.toUpperCase());
System.out.println(str.trim());
System.out.println(str.substring(2, 6));
System.out.println(str.charAt(7));
System.out.println(str.equals("Java"));
System.out.println(str.contains("gram"));
System.out.println(str.replace('a', 'o'));

출력

java programming
JAVA PROGRAMMING
Java Programming
Java
r
false
true
Jovo Progromming

이제 자바 문자열의 세계로的第一步을 걸었습니다. 연습이 완벽을 이루는 것을 기억하세요, 그래서 이 개념들을 실험해 두려워하지 마세요. 다양한 메서드를 조합하고, 자신만의 문자열을 만들고, 무엇을 만들 수 있는지 보세요.

알 수 있을 때까지 문자열을 조작하는 인형사공처럼 되겠습니다! 행복하게 코딩하세요, 그리고 프로그래밍의 세계에서는 모든 문자가 중요합니다!

Credits: Image by storyset