쌍용교육센터에서 공부한 내용을 정리하며 기록하는 글이고 주관적인 생각이 들어갈 수 있습니다.
잘못된 내용이나 피드백 및 생각 공유는 언제든 환영입니다.
댓글로 남겨주시면 확인 후 수정하겠습니다.
내용에 대한 소스 코드는 https://github.com/2jaehoon/ssangyonng.git에 올려두었습니다.
문자열
- 문자열을 다룰 수 있는 클래스들
* String
- 짧은 문자열을 다룰 때. 문자열 저장소의 주소를 저장( 중복 문자열이 저장되지 않는다. )
* StringBuffer
- 긴 문자열을 다룰 때 ( 메모리에 문자열을 직접 생성 => 중복 문자열이 생길 수 있음 )
멀티쓰레드( Multi-Thread )에서 동시접근 불가( 동기화 처리o ) 속도 느림
* StringBuilder
- 긴 문자열을 다룰 때( JDK1.5에서부터 지원 )
( 메모리에 문자열을 직접 생성 => 중복 문자열이 생길 수 있음 )
멀티쓰레드(Multi-Thread)에서 동시접근 가능( 동기화 처리x ) 속도빠름
StringBuilder sb = new StringBuilder();// 기본 생성자
StringBuilder sb1 = new StrintBuilder( "안녕하세요?" );// Overload된 생성자
// 값 문자열로 붙이기
// 소스코드에서 문자열에 +를 사용하는 것보다 StringBuilder
// StringBuilder를생성하고 append로 문자열이 붙이는 코드가 더 빠르다.
int i = 2022;
sb.append(i);
boolean flag = true;
sb1.append(flag);
sb.append( "반장" );
// 값을 기존에 값 사이에 삽입 - 기존의 값이 변경된다.
sb.insert( 인덱스, 값 )
sb.insert( 4, "년" );
// 값 삭제
sb.delete( 시작인덱스, 끝인덱스+1 );
// 값 뒤집기(reverse)
sb.reverse();
문자열을 자르는 클래스들
- StringTokenizer : java.util
- 문자열을 특정 문자열을 기준하여 토큰(문자열의 짧은 한 마디)으로 생성하여 사용하는 클래스
- 문자열을 가지고 있지 않고, 문자열의 제어권을 받아서 자른 후 반환하는 일
// 1. 생성
// 문자열 내 공백으로 토큰 생성
StringTokenizer stk = new StringTokenizer( "문자열" );
// 문자열 내 특정문자열 토큰 생성( 기준 문자열을 삭제 )
StringTokenizer stk = new StringTokenizer( "문자열", "기준문자열" );
// 문자열 내 특정문자열로 토큰 생성( 기준 문자열을 토큰으로 취급할 것인지 설정 )
StringTokenizer stk = new StringTokenizer( "문자열", "기준문자열", boolean );
// 2. 제공하는 일을 사용
// 토큰의 개수
int cnt = stk.countTokens();
// 토큰이 존재하는 지?
boolean flag = stk.hasMoreTokens();
// 토큰 얻고 포인터를 옮기기
String str = stk.nextToken();
//-------------------------------------------------------------------
// 사용
StringTokenizer stk = new StringTokenizer("안녕 자바");
// 토큰이 존재하는지 물어보고 반복시킨다.
while(stk.has.MoreTokens()){
//3. 토큰을 얻고
String token = stk.nextToken();
}
날짜 관련 클래스
- Date, calender
- java.util패키지에서 관련 클래스를 제공
* Date
- 비추천 메소드와 생성자가 많다.
- 단독으로 사용하는 것보다 SimpleDateFormat 클래스와 함께 사용한다.
- ( 사용자가 원하는 날짜 형식을 만들 때 사용 )
* SimpleDateFormat
- 패턴을 넣어 형식클래스 생성
SimpleDateFormat sdf = new SimpleDateFormat( "pattern" );
// Date클래스를 넣어서 원하는 날짜 형식을 얻는다.
날짜 = sdf.format( date 클래스객체 );
// Locale클래스를 사용하면 다른 나라의 날짜 형식을 사용할 수 있다.
SimpleDateFormat sdf = new SimpleDateFormat( "pattern", Locale.국가이름 );
숫자 형식
- java.text 패키지에서 클래스 제공
- DecimalFormat => 숫자(정수,실수)를 원하는 형식으로 만들어 제공할 때
- JDK1.7부터는 숫자에 구분자를 사용할 수 있다. ( 구분자는 출력되지 않는다. )
int i = 1_000_000;
// 1. 생성
DecimalFormat df = new DecimalFormat( "pattern" );
// pattern
// # : 데이터가 있는 것까지만 출력
// 0 : 데이터가 없으면 0을 채워서 출력
// 2. 사용
df.format( 숫자 );
DecimalFormat df = new DecimalFormat("###,###,###");
df.format(2022); // 2,022
DecimalFormat df = new DecimalFormat("0,000,000");
df.format(2022); // 0,002,022
'성장 일기 > 쌍용교육센터' 카테고리의 다른 글
1228/Set, Map (0) | 2022.12.28 |
---|---|
1227/Calendar, JCF (0) | 2022.12.27 |
1223/클래스 사용 (0) | 2022.12.23 |
1222/Override, Interface (0) | 2022.12.22 |
1221/상속 (0) | 2022.12.21 |