자바 - 문자열: 초보자 가이드
안녕하세요, 미래의 자바 개발자 여러분! 오늘 우리는 자바 문자열의 세계로 흥미로운 여정을 떠납니다. 코드를 한 줄도 작성해본 적이 없어도 걱정하지 마세요 - 우리는 매우 기초적인 부분부터 시작하여 차례대로 공부할 것입니다. 이 튜토리얼의 끝까지 따라오면, 자바 문자열을 마치 프로처럼 다룰 수 있을 것입니다! 시작해보겠습니다!
자바에서 문자열은 무엇인가요?
친구에게 편지를 쓰는 상상해보세요. 편지지에 적는 단어들은 자바에서의 문자열과 같습니다. 프로그래밍 용어로, 문자열은 문자의序列입니다. 단어 하나, 문장, 혹은 전체 문단이 될 수 있습니다. 자바에서 문자열은 객체입니다. 즉, 우리가 조작할 수 있는 특별한 능력(메서드)을 가지고 있습니다.
문자열 생성
자바에서 문자열을 생성하는 것은 쉽습니다. 문장을 따로 쓰는 것만큼 간단합니다. 예제를 몇 가지 보겠습니다:
String greeting = "Hello, World!";
String name = "Alice";
String empty = "";
위의 코드에서 우리는 세 가지 문자열을 생성했습니다:
-
greeting
은 전통적인 프로그래머의 인사를 담고 있습니다. -
name
은 사람의 이름을 담고 있습니다. -
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()
메서드는 이를 name
과 age
의 값을로 대체합니다.
문자열 메서드
자바의 문자열은 유용한 메서드가 가득한 도구 상자를 가지고 있습니다. 가장 흔히 사용되는 몇 가지를 소개하겠습니다:
메서드 | 설명 | 예제 |
---|---|---|
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