1. char charAt(int index) |
s1.charAt(index)는 s1 문자열에서 index 번째에 해당하는 문자를 반환하는 함수입니다. 문자열에서 index는 0에서부터 시작합니다.
1
2
3
4
5
6
7
8
9
10
11
12
|
public class Sample
{
public static void main(String[] args)
{
String s = "Hello";
System.out.println("0번째 index에 해당하는 char : " + s.charAt(0));
System.out.println("1번째 index에 해당하는 char : " + s.charAt(1));
System.out.println("2번째 index에 해당하는 char : " + s.charAt(2));
System.out.println("3번째 index에 해당하는 char : " + s.charAt(3));
System.out.println("4번째 index에 해당하는 char : " + s.charAt(4));
}
}
|
cs |
▼ charAt 함수를 사용하여 "Hello" 문자열을 문자 하나하나 출력하는 예제입니다. 중요한 포인트는 문자열의 index는 0에서부터 시작한다는 것입니다.
2. char compareTo(s2) |
s1.compareTo(s2)는 s1이 문자열 s2에 비해 사전 순으로 앞에 올 경우 음수가 오고 동일할 경우 0이 오고 뒤에 올 경우 양수가 옵니다.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
|
public class Sample
{
public static void main(String[] args)
{
String s1 = "Hello";
String s2 = "Hello";
String s3 = "AHello";
String s4 = "ZHello";
//사전순으로 동일하게 때문에 0 반환
System.out.println(s1.compareTo(s2));
//사전순으로 s3가 앞에오기 때문에 양수 반환
System.out.println(s1.compareTo(s3));
//사전순으로 s3가 뒤에오기 때문에 음수 반환
System.out.println(s1.compareTo(s4));
}
}
|
cs |
▼ 비슷한 함수로 compareToIgnoreCase 함수가 있는데 이 함수는 두 문자열을 비교할 때 대소문자를 구분하지 않습니다.
3. String concat(String s) |
concat 함수는 두 문자열을 합친 새로운 문자열을 반환하는 함수입니다. s1.concat(s2)가 있을 때 s1에 s2를 추가한 문자열을 결과로 반환합니다.
1
2
3
4
5
6
7
8
9
10
|
public class Sample
{
public static void main(String[] args)
{
String s1 = "Hello ";
String s2 = "LKT Programmer!";
System.out.println(s1.concat(s2));
}
}
|
cs |
4. boolean endsWith(string s) |
s1.endswith(s2)에서 s2가 s1의 접미사이면 참을 반환합니다. 예를 들어 String s1= "Hello Programmer"이고 String s2 = "Programmer"라면 s1.endsWith(s2)는 참을 반환하게 됩니다.
1
2
3
4
5
6
7
8
9
10
|
public class Sample
{
public static void main(String[] args)
{
String s1 = "Hello Programmer";
String s2 = "Programmer";
System.out.println(s1.endsWith(s2));
}
}
|
cs |
▼ 같은 개념으로 startsWith 함수도 있습니다. s1.startsWith(s2)가 있을 때 s2가 s1의 접두사면 참을 반환하는 함수입니다.
5. boolean equals(object s) |
s1.equals(s2)는 s1과 s2가 동일한 문자열이면 true를 반환합니다.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
|
public class Sample
{
public static void main(String[] args)
{
String s1 = "hello";
String s2 = "hello";
String s3 = "HELLO";
//두 문자열은 "hello"로 동일하기 때문에 true
System.out.println(s1.equals(s2));
//equals는 대소문자를 구분하기 때문에 false
System.out.println(s1.equals(s3));
}
}
|
cs |
▼ equals 함수는 대소문자를 구분하기 때문에 12번 라인의 출력물은 false가 됩니다. 만약 대소문자를 구분하지 않고 문자열을 비교하고 싶다면 equalsIgnoreCase 함수를 사용하도록 합니다.
6. indexOf(String s) / indexOf(String s, int from) |
s1.indexOf(s2)는 s1에서 s2 문자열이 나타나기 시작하는 처음 인덱스를 반환합니다. 찾지 못하면 -1을 반환합니다. s1.indexOf(s2, from)은 s1 문자열에서 from 인덱스 이후로 s2 문자열이 처음 나타나는 인덱스를 반환합니다. 마찬가지로 찾지 못하면 -1을 반환하게 됩니다.
1
2
3
4
5
6
7
8
9
10
11
|
public class Sample
{
public static void main(String[] args)
{
String s1 = "hello world";
String s2 = "world";
//"world" 문자열이 나타나는 인덱스는 6번째 이므로 6을 반환
System.out.println(s1.indexOf(s2));
}
}
|
cs |
1
2
3
4
5
6
7
8
9
10
11
12
|
public class Sample
{
public static void main(String[] args)
{
String s1 = "hello world world";
String s2 = "world";
// 7번째 인덱스 이후로 나오는 "world"를 찾으므로
// s1의 두번째 world의 시작 인덱스인 12를 반환함
System.out.println(s1.indexOf(s2,7));
}
}
|
cs |
7. int length() |
s1.length()는 s1 문자열에 있는 공백을 포함한 모든 문자 수를 반환합니다. 간단한 것이므로 샘플 예제는 생략하고 String s1 = "Hello World"이 있을 대 s1.length()는 11을 반환합니다.
8. String replace(char oldchar, char newchar) |
s1.replace('s','b')가 있을 때 문자열 s1에 문자 's'를 'b'로 대체한 전체 문자열을 반환해주는 함수입니다. String s1 = "ababab"가 있을 때 s1.replace('a','b')를 하게 되면 반환되는 문자열로 "bbbbbb"가 됩니다.
1
2
3
4
5
6
7
8
9
10
11
|
public class Sample
{
public static void main(String[] args)
{
String s1 = "ababab";
// s1 문자열의 'a' 문자를 'b'문자로 대체하기 때문에
// "bbbbbb"라는 문자열이 출력 됨.
System.out.println(s1.replace('a', 'b'));
}
}
|
cs |
9. 대소문자 변경 |
toLowerCase 함수는 문자열의 모든 대문자를 소문자로 변경해주는 함수입니다. 반면 toUpperCase 함수는 문자열의 모든 소문자를 대문자로 변경해주는 함수입니다. 아래 샘플 예제를 참고해주세요.
1
2
3
4
5
6
7
8
9
10
11
12
13
|
public class Sample
{
public static void main(String[] args)
{
String s1 = "aaaaaa";
String s2 = "AAAAAA";
// 소문자를 대문자로 변경. "aaaaaa" -> "AAAAAA"
System.out.println(s1.toUpperCase());
// 대문자를 소문자로 변경. "AAAAAA" -> "aaaaaa"
System.out.println(s2.toLowerCase());
}
}
|
cs |