** 문자열 클래스
1. 종류
1) String : 변하지 않는 문자열 저장에 사용하는 클래스
2) StringBuilder(StringBuffer) : 변할 수 있는 문자열 저장에 사용하는 클래스
= String은 문자열 상수를 저장하기 때문에 정적 영역에 메모리를 할당합니다.
= StringBuilder는 동적 영역(heap)에 메모리를 할당합니다.
= String 클래스는 자기 자신을 변경할 수 없기 때문에 모든 메소드가 리턴을 합니다.
(저장을 할 수 없으니 내보내는 것)
2. String : 알고리즘 테스트에도 가장 많이 나오는 클래스
1) 객체 생성
= 문자열 상수를 바로 대입해서 생성 : String 변수 = "문자열";
= new String("문자열 상수")를 이용해서 생성
= new String(byte [] byte, String 인코딩방식)를 이용해서 생성 : 통신이나 파일의 내용을 읽을 때 사용
2) +연산자
= 문자열과 다른 데이터를 +로 연산하면 문자열 결합이 됩니다.
이 때, 문자열을 복사해서 작업합니다. : 1.6버전까지
1.7버전부터는 String 도 +연산을 하면 StringBuilder 처럼 이어붙이기를 합니다.
3) 주요 메소드
***char charAt(int index) : index 번째의 문자를 리턴
***int length() : 문자열의 길이를 리턴
= 이 두개의 메소드를 가지면 모든 작업을 수행할 수 있습니다.
String trim()
String toUpperCase()
String toLowerCase()
= 공백을 제거하고 모두 대문자나 소문자로 변경해주는 메소드
= 영문의 경우 특별한 경우가 아니면 대소문자를 구분하지 않으므로 작업을 할 때 이 메소드를 활용해서 대소문자를 구분하지 않고 작업을 해야 합니다.
String [] split(String regexp) : regexp단위로 분할해서 문자열 배열로 리턴
String substring(int start) : start 위치부터 끝까지의 문자열을 리턴
String substring(int start, int end+1) : start 부터 end까지의 문자를 문자열로 리턴
int indexOf(String str) : 앞에서부터 str을 찾아서 동일한 str을 찾으면 그 위치를 리턴
못 찾으면 음수를 리턴
int lastIndexOf(String str) : 뒤에서부터 str을 찾아서 동일한 str을 찾으면 그 위치를 리턴
못 찾으면 음수를 리턴
static String format("서식", 데이터 나열) : 데이터를 서식에 맞추어서 하나의 문자열을 만들어서 리턴
사용할 때 String.format("서식", 데이터 나열) 이렇게 사용해야 한다.
'JAVA 공책 > 수업 메모' 카테고리의 다른 글
Data Structure(자료구조) (0) | 2018.09.03 |
---|---|
StringBuilder (0) | 2018.08.30 |
java lang 패키지 (0) | 2018.08.28 |
pakage의 정의와 API의 구조와 해석법 (0) | 2018.08.27 |
Student 테이블을 만들어서 stream API 연습하기 (0) | 2018.08.07 |