Java
String - Java
성장코딩
2023. 1. 15. 18:09
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
|
package String;
public class String1 {
public static void main(String[] args) {
String s = "I like Java and Python and C.";
System.out.println(s);
// 문자열의 길이
System.out.println(s.length()); // 29
// 대소문자 변환
System.out.println(s.toUpperCase()); // 대문자로
System.out.println(s.toLowerCase()); // 소문자로
// 포함 관계
System.out.println(s.contains("Java")); // 포함된다면 true 포함되지 않는다면 false
System.out.println(s.contains("C++"));
// 위치 정보(맨 앞이 0부터 시작), Java 중 맨 앞 J는 7번째에 있다.
System.out.println(s.indexOf("Java")); // 7
System.out.println(s.indexOf("C#")); // 포함되지 않는 문자열이므로 -1 나온다.
// 문자열의 마지막 글자의 위치 정보, and의 d의 위치
System.out.println(s.lastIndexOf("and")); // 23
// 특정한 문자열로 시작하는 지 확인
System.out.println(s.startsWith("I like")); // 이 문자열로 시작하면 true
System.out.println(s.endsWith(".")); // 이 문자열로 끝나면 true
}
}
|
cs |
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
|
package String;
public class String2 {
public static void main(String[] args) {
String s = "I like Java and Python and C.";
// 문자열 변환
// 위 문장을 "I like Java, Python, C."로 바꿔서 나타내고 싶다.
System.out.println(s.replace(" and", ", "));
System.out.println(s); // 원래 문자열의 변화는 없음 // I like Java and Python and C.
// 원래 문자열을 원하는 문자열로 바꿔놓으려면,
s = s.replace(" and", ", ");
System.out.println(s); // I like Java, Python, C.
s = "I like Java and Python and C."; // 다시 원래대로
// 문자열을 원하는 부분만 출력하고 싶을 때
System.out.println(s.substring(7)); // 인덱스 7부터 시작해서 끝까지 출력(이전 내용은 제외)
// 인덱스 번호를 모르는 경우가 많으므로
System.out.println(s.substring(s.indexOf("Java")));
// 결과: Java and Python and C.
// 시작과 끝을 정해서 원하는 부분만 출력하고 싶을 때
System.out.println(s.substring(s.indexOf("Java"), s.indexOf(".")));
// 이때, substring(시작 인덱스, (끝+1) 인덱스) 임을 주의하자.
// 즉, 끝 위치에 나타난 인덱스 바로 전의 인덱스에 해당하는 값이 출력된다.
// 따라서, Java and Python and C 이 출력된다.
System.out.println(s); // 원래 문자열의 변화는 없음 // I like Java and Python and C.
// 원래 문자열을 원하는 문자열로 바꿔놓으려면,
s = s.substring(7);
System.out.println(s); // Java and Python and C.
// 공백 제거
s = " I love Java. ";
System.out.println(s);
System.out.println(s.trim()); // 앞뒤 공백 제거
// 문자열 결합
String s1 = "Java";
String s2 = "Python";
System.out.println(s1 + s2); // JavaPython
System.out.println(s1 + "," + s2); // Java,Python
System.out.println(s1.concat(",").concat(s2)); // Java,Python
}
}
|
cs |
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
|
package String;
public class StringCompare {
public static void main(String[] args) {
// 문자열 비교
String s1 = "Java";
String s2 = "Python";
System.out.println(s1.equals(s2)); // 문자열 내용이 같으면 true, 다르면 false // false
System.out.println(s1.equals("Java")); // true
System.out.println(s2.equals("python")); // 대소문자 구분하므로 false
// 대소문자 구분없이 내용이 같으면 true를 나타내게 하고 싶다면?
System.out.println(s2.equalsIgnoreCase("python"));
// 문자열 비교 심화
s1 = "1234";
s2 = "1234";
// 문자열 변수 s1, s2 모두 한 메모리 공간에 존재하는 "1234"를 참조한다.
System.out.println(s1.equals(s2)); // true // 참조하고 있는 메모리 공간의 내용을 비교
System.out.println(s1 == s2); // true // 변수 각각이 참조하고 있는 것이 같은지를 비교
s1 = new String("1234");
s2 = new String("1234");
// 문자열 변수 s1, s2 각각 다른 메모리 공간에 존재하는 "1234"를 참조한다.
System.out.println(s1.equals(s2)); // true // 참조하고 있는 메모리 공간의 내용이 같으므로
System.out.println(s1 == s2); // false // 변수 각각이 참조하고 있는 것이 다르므로
// 따라서 Java에서 문자열의 내용을 비교하고 싶으면 equals를 써라!!
}
}
|
cs |