안녕하세요 열코입니다.

이번 시간에는 자바에서 String(문자열) 사용법에 대해 알아보겠습니다.

자바에서 문자열 사용 시 자바에서 제공하는 String class를 참조합니다.



※ 선언 및 정의

⇒ 문자열을 사용하기 위해 String 객체를 선언하고 정의합니다.

선언 및 정의 방법은 여러 가지가 있으나 아래 예는 주로 사용되는 방법입니다.


사용법 1)


1
2
3
String str1;
 
str1 = "str1";
cs


사용법 2)


1
String str2 = "str2";
cs


사용법 3)


1
String str3 = new String("str3");
cs


사용법 4)


1
2
3
String str4 = new String();
 
str4 = "str4";
cs



※ length : 문자열의 길이

⇒ 해당 객체의 문자열 길이를 반환(int형) 합니다. (null은 포함하지 않음)


1
2
3
String str = "abcde";
 
System.out.println(str.length());  // 5 출력
cs




※ isEmpty : 문자열이 비어있는지 확인

⇒ 문자열의 길이(length)가 0이면 true 반환(boolean형), 0이 아니면 false를 반환합니다.


1
2
3
4
5
6
7
8
9
String str = new String();
 
if(str.isEmpty())  // "empty" 출력
 
     System.out.println("empty");
 
else
 
     System.out.println("not empty");
cs



※ charAt : 문자 반환

⇒ 문자열 중 해당 인덱스의 문자(char형)를 반환합니다.(인덱스는 0 ~ 문자열의 길이(length) -1)


1
2
3
String str = new String("abcd");
 
System.out.println(str.charAt(2));  // 'c' 출력
cs



※ getChars : 문자 배열 복사

⇒ 문자열을 문자(char) 배열로 복사합니다.


1
2
3
4
5
6
7
String str = new String("abcd");
 
char [] ch = new char[4];
 
str.getChars(02, ch, 0); // 시작 인덱스, 끝 인덱스, 복사 받을 char 배열 이름, 복사 시작 위치
 
System.out.println(ch);  // "ab" 출력
cs



※ equals : 문자열 비교

⇒ 해당 문자열과 매개변수의 문자열이 같은 지 비교하여 true 또는 false를 반환합니다.(boolean형)


1
2
3
4
5
6
7
8
9
10
11
String str = new String("abcd");
 
String str2 = new String("abc");
 
if(str.equals(str2))  // "not equal" 출력
 
     System.out.println("equal");
 
else
 
     System.out.println("not equal");
cs


(자바에서 문자열 비교를 ==연산자로 비교할 수 없습니다!)



※ compareTo : 문자열 비교(사전 순으로 대소 비교)

⇒ 해당 문자열과 매개변수의 문자열을 사전 순으로 비교합니다.


1
2
3
4
5
String str = new String("aaa");
 
String str2 = new String("bbb");
 
System.out.println(str.compareTo(str2)); // -1 출력
cs


반환값 : 

str과 str2의 같을 경우 : 0

str이 str2보다 사전 순으로 앞인 경우 : -1

str이 str2보다 사전 순으로 뒤인 경우 : 1

* str의 마지막 문자열과 str2의 마지막 문자를 제외하고 같은 경우

예 ) String str = new String("ccca");

       String str2 = new String("cccz");

       str과 str2의 마지막 문자열을 비교하여 사전 순 차이만큼 반환 : -25



※ indexOf : 문자열 위치

⇒ 해당 문자열이 위치하는 인덱스를 반환합니다.(int형)


1
2
3
String str = new String("abcd");
 
System.out.println(str.indexOf("c")); // 2 출력
cs


(해당 문자열이 존재하지 않으면 -1을 반환합니다.)



※ lastIndexOf : 문자열 마지막 위치

⇒ 해당 문자열이 마지막으로 위치하는 인덱스를 반환합니다.(int형)


1
2
3
String str = new String("abcdeabcda");
 
System.out.println(str.lastIndexOf("c")); // 7 출력
cs



※ subString : 문자열 자르기

⇒ 해당 문자열의 인덱스만큼 잘라서 반환합니다.(String형)


1
2
3
4
5
String str = new String("abcdefg");
 
System.out.println(str.substring(26)); // "cdef" 출력
 
System.out.println(str.substring(5)); // "fg" 출력
cs


(매개 변수가 2개인 경우 : 해당 범위만큼 자름, 1개인 경우 : 앞에서부터 인덱스만큼 자름)



※ concat : 문자열 합치기

⇒ 해당 문자열 뒤에 매개변수 문자열을 서로 합칩니다


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
String str = new String("a");
 
String str2 = new String("b");
 
String str3 = new String();
 
 
 
str3 = str.concat(str2);
 
String str4 = str+str2; // concat과 같은 동작
 
 
 
System.out.println(str3); // "ab" 출력
 
System.out.println(str4); // "ab" 출력
cs



※ replace : 문자열 치환 

⇒ 해당 문자를 찾아 다음 문자로 변경합니다.


1
2
3
4
5
String str = new String("abc");
 
str = str.replace('b''k');
 
System.out.println(str); // "akc" 출력
cs



※ contains : 문자열 포함

⇒ 해당 문자열이 포함되어 있는지 확인합니다. 포함할 경우 true, 아닌 경우 false 반환(boolean형)


1
2
3
4
5
6
7
8
9
String str = new String("abc");
 
if(str.contains("bc")) // "contain" 출력
 
     System.out.println("contain");
 
else
 
     System.out.println("not contain");
cs



※ split : 문자열 분리

⇒ 문자열을 해당 문자열을 기준으로 모두 분리합니다.(String [] 반환)


1
2
3
4
5
6
7
8
9
10
11
String str = new String("a b c d e f");
 
String[] str2 = new String[6];
 
for(int i = 0; i < 6; i++
 
     str2[i] = str.split(" ")[i]; 
 
for(int i = 0; i < 6; i++
 
     System.out.print(str2[i]); // abcdef 출력
cs



※ trim : 문자열 공백 제거

⇒ 해당 문자열의 앞, 뒤의 공백을 모두 제거합니다.(문자열 사이의 공백은 제거되지 않음)


1
2
3
4
5
String str = new String(" a b c ");
 
String str2 = str.trim();
 
System.out.println(str2); // "abc" 출력
cs



아래 두 메소드는 Integer class의 메소드입니다. 

자바에서 주로 사용하는 int to String, String to int 변환 방법입니다.


※ toString : int to String

⇒ int형 변수를 String 객체로 변환


1
2
3
4
5
6
7
String str = new String("100");
 
int value = 200;
 
String sum = str + Integer.toString(value);
 
System.out.println(sum); // 100200 출력
cs



※ parseInt : String to int 

⇒ String 객체를 int형 변수로 변환


1
2
3
4
5
6
7
String str = new String("100");
 
int value = 200;
 
int sum = Integer.parseInt(str) + value;
 
System.out.println(sum); // 300 출력
cs




이상 '자바 문자열 사용법'에 대해 알아보았습니다.

질문 또는 오타나 잘못된 정보가 있는 경우 댓글로 달아주세요!

공감♡ 버튼을 눌러주시면 더욱 유용하고 좋은 포스팅으로 찾아 뵙겠습니다.





to Top