변수와 자료형 - 문자열
1. 자료형 - 문자열 (String)
- 문자들로 이루어진 집합
1
2
String s1 = "Hello World!";
String s2 = "01234";
- 문자열 메소드
- equals, indexOf, replace, substring, toUpperCase
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
public class Main {
public static void main(String[] args) {
// 1. 자료형 - 문자열
System.out.println("== 문자열 ==");
String s1 = "Hello World!";
System.out.println("s1 = " + s1);
String s2 = "01234";
System.out.println("s2 = " + s2);
// 1-1. equals
System.out.println("== equals ==");
String s3 = "Hi";
String s4 = "Hi";
System.out.println(s3.equals(s4));
System.out.println(s3 == s4);
String s5 = new String("Hi");
System.out.println(s3.equals(s5));
System.out.println(s3 == s5);
// 1-2. indexOf
System.out.println("== indexOf ==");
String s6 = "Hello World!";
System.out.println(s6.indexOf("!"));
System.out.println(s6.indexOf("!", s6.indexOf("!")+1));
// 1-3. replace
System.out.println("== replace ==");
String s7 = s6.replace("Hello", "Bye");
System.out.println("s7 = " + s7);
// 1-4. substring
System.out.println("== substring ==");
System.out.println(s7.substring(0, 3));
System.out.println(s7.substring(0, s7.indexOf("!") + 1));
// 1-5. toUpperCase
System.out.println(s7.toUpperCase());
// 2. 자료형 - StringBuffer
System.out.println("== StringBuffer == ");
}
}
- 유의점1 :
- String 사이의 “==” 연산자는 객체주소값 비교이다.
- s3와 s4의 값이 같을경우, 정확히는 같은 주소값을 가리키고 있기에 값이 true로 나오는것이다
- 반면 s5는 새로운 메모리주소를 할당한 것이기 때문에, “==”연산자로 비교하면 false가 나온다
- 유의점2 :
- indexOf를 통해 문자의 index위치를 발견하지 못하면 -1을 반환한다
2. 자료형 - StringBuffer
- 문자열을 자주 추가하거나 변경할 대 사용하는 자료형
1
String Buffer sb1 = new StringBuffer("Hello World");
- StringBuffer 메소드
- append, insert, substring
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
public class Main {
public static void main(String[] args) {
// 2. 자료형 - StringBuffer
System.out.println("== StringBuffer == ");
StringBuffer sb1 = new StringBuffer();
sb1.append("01234");
System.out.println("sb1 = " + sb1);
sb1.append("56789");
System.out.println("sb1 = " + sb1);
String a = "01234";
String b = "56789";
String bak = a;
System.out.println(a == bak);
a += b;
System.out.println(a);
System.out.println(a == bak);
}
}
3. 자료형 - 배열 (Array)
- 많은 수의 데이터를 담을 수 있는 자료형
1
2
int[] myArray1 = {1,2,3,4,5};
char[] myArray2 = {'a','b','c','d','e'};
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
public class Main {
public static void main(String[] args) {
// 3. 자료형 - 배열
System.out.println("== 배열 ==");
int[] myArray1 = {1,2,3,4,5};
System.out.println(myArray1[0]);
System.out.println(myArray1[1]);
System.out.println(myArray1[2]);
System.out.println(myArray1[3]);
System.out.println(myArray1[4]);
char[] myArray2 = {'a','b','c'};
System.out.println(myArray2[2]);
String[] myArray3 = new String[3];
myArray3[0] = "Hello";
myArray3[1] = " ";
myArray3[2] = "World";
System.out.println(myArray3[0] + myArray3[1] + myArray3[2]);
}
}
This post is licensed under CC BY 4.0 by the author.