Java의 문자열 클래스인 String의 메소드에 대한 정리글입니다.
Algorithm 문제를 해결하기 위해 필요한 가장 기본적인 메소드를 다룰것입니다.
문자열의 index번째를 반환합니다.
String str1 = "abcdefg";
System.out.println(str1.charAt(0)); // 0번째 인덱스 print
output
a
char charAt(int index) 메소드를 쓸 때는 리턴값으로 문자형을 받습니다.
String str = "1234";
System.out.println(str.charAt(0));
이때 이렇게 하면 1이 출력되는데 이떄 1은 문자형일까 정수형일까요?
정답은 문자형으로 반환됩니다.
정수형으로 바꾸고 싶다면 다음과 같이 하면됩니다.
String str = "1234";
System.out.println(str.charAt(0)-'0');
문자열에서 몇번째 index에 있는지 찾아주는 메소드입니다.
int indexOf(char ch)
int indexOf(char ch, int fromIndex)
indexOf는 문자열에서 첫번째 인덱스를 기준으로 시작하고, 찾으면 index를 int형으로 반환해줍니다. 이 때 없으면 -1이 반환됩니다.
String str2 = "abacab";
System.out.println(str2.indexOf('a'));
System.out.println(str2.indexOf('a', 2));
output
0
2
문자열과 문자열을 비교하는 메소드입니다.
String str3 = "DCA";
String str4 = "Study";
String str5 = "DCA";
System.out.println("str3와 str4 비교 : " + str3.equals(str4));
System.out.println("str3과 str5 비교 : " + str3.equals(str5));
output
str3와 str4 비교 : false
str3과 str5 비교 : true
문자열의 길이를 int형으로 반환해주는 메소드입니다.
String str6 = "12345";
System.out.println(str6.length());
output
5
특정 문자열을 검색해서 바꿔주는 메소드입니다.
String str7 = "abcde";
System.out.println("변경 전 : " + str7);
str7 = str7.replace('a', 'b');
System.out.println("변경 후 : " + str7);
output
변경 전 : abcde
변경 후 : bbcde
문자열을 특정문자 기준으로 나눠주는 메소드입니다.
String str8 = "bacafadac";
String[] str_arr = str8.split("a");
for(String out : str_arr){
System.out.println(out);
}
output
b
c
f
d
c
모든 문자열을 대문자로 바꿔주거나, 소문자로 바꿔주는 메소드입니다.
String str9 = "AbCde";
System.out.println(str9.toUpperCase());
System.out.println(str9.toLowerCase());
output
ABCDE
abcde
아스키 코드로 변환하는 법은 다음과 같습니다.
Character -> Int
char c = 'a';
System.out.println((int)c);
output
97
Int -> Character
int n = 65;
System.out.println((char)n);
output
A