자바 String 문자열 사용법 정리
안녕하세요 열코입니다. 이번 시간에는 자바에서 String(문자열) 사용법에 대해 알아보겠습니다.
※ 선언 및 정의
⇒ 문자열을 사용하기 위해 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(0, 2, 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(2, 6)); // "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 |
이상 '자바 문자열 사용법'에 대해 알아보았습니다.
질문 또는 오타나 잘못된 정보가 있는 경우 댓글로 달아주세요!
공감♡ 버튼을 눌러주시면 더욱 유용하고 좋은 포스팅으로 찾아 뵙겠습니다.
[관련 게시글]
'Java' 카테고리의 다른 글
자바 가비지 컬렉션(Java Garbage Collection) (0) | 2018.09.29 |
---|---|
자바 벡터(Vector)와 어레이리스트(ArrayList) 비교 (5) | 2018.09.23 |
java.lang.NullPointerException 해결법 (1) | 2018.09.10 |
java.lang.ArrayIndexOutOfBoundsException 해결법 (0) | 2018.09.10 |
자바 foreach문 사용법 (0) | 2018.09.09 |
자바 배열 사용법 (0) | 2018.09.06 |
[Java] 자바 웹 크롤링 - 실시간 데이터 수집 (6) | 2018.08.20 |
자바 DB연동 - JDBC + MySQL (0) | 2018.08.17 |