I. 날짜 / 시간 데이터 형식화
연도 - y / yy / yyyy | 시 - H (24) / h (12) |
월 - M | 분 - m |
일 - d | 초 - s |
요일 - E / EEEE | 오전/오후 - a |
1. SimpleDateFormat 활용하여 Date 객체의 형식을 지정하기
1) 날짜형식을 지정하여 String형으로 저장함.
String pattern = "yyyy년 MM월 dd일 EEEE HH:mm:ss";
2) SimpleDateFormat의 객체 생성시 날짜형식을 매개변수로 전달한다.
SimpleDateFormat sdf = new SimpleDateFormat(pattern);
3) SimpleDateFormat의 format()메서드를 호출하고 매개변수에 날짜데이터를 전달한다.
Date date = new Date();
System.out.println(sdf.format(date)); //2021년 11월 13일 토요일 14:53:45
2. DateTimeFormatter 활용하여 Local_____클래스 객체의 형식을 지정하기
- LocalDate , LocalTime, LocalDateTime 객체의 형식을 지정할 때 사용한다.
1) 시간형식을 문자열로 저장
String pattern2 = "a hh시 mm분 y-MM-dd";
2) DateTimeFormatter의 ofPattern() 메서드 사용하여 시간형식을 저장함.
DateTimeFormatter dtf = DateTimeFormatter.ofPattern(pattern2);
3) 시간데이터객체의 format() 메서드를 호출하여 DateTimeFormatter객체를 전달
LocalDateTime now2 = LocalDateTime.now();
System.out.println(now2.format(dtf)); // 오후 02시 53분 2021-11-13
II. 숫자 데이터 형식화
DecimalFormat
- 숫자데이터를 형식화하는 클래스.
# 메서드
1. String format(double) - 특정 형식으로 숫자를 표현하고자 할 때.
double dNum = 1234.5000;
//1. 형식을 지정하여 문자열로 저장한다.
String pattern = "$0,000.00"
//2. DecimalFormat의 객체를 생성하고 형식을 전달한다.
DecimalFormat df = new DecimalFormat(pattern);
//3. DecimalFormat의 format()메서드 호출하고 숫자데이터를 전달한다.
System.out.println(df.format(dNum)); //$1,234.50
2. parse(String) - 기본데이터타입의 숫자데이터로 변환할 때
- 변환하고자 하는 데이터타입으로 강제 형변환 처리를 해줘햐함.
- 주의) Wrapper클래스의 parseXXX() 메서드는 사용불가하다.
DecimalFormat df = new DecimalFormat(pattern);
String formedDouble = df.format(dNum); //앞의 작업결과 $1,234.50 값인 경우
//1. DecimalFormat의 parse(String)메서드 사용
double parseNum = (double)df.parse(formedDouble);
System.out.println(parseNum); //1234.5 - double형으로 변환완료
3. applyPattern() - 기존 패턴에서 새로운 패턴으로 교체하여 적용함.
III. 문자 데이터 형식화
MessageFormat
1. 데이터가 들어갈 부분을 {index} 형태로 표시한 형식을 String으로 저장함.
String pattern = "이름: {0}, 나이: {1}, 주민번호: {2}";
2. MessageFormat.format(형식,데이터1, 데이터2...) 지정하면 끝!
//데이터로 사용할 변수 선언
String name="홍길동";
String jumin="901010-1234567";
int age =20;
//MessageFormat.format(형식, 데이터1, 데이터2,...)
String formatStr = MessageFormat.format(messagePattern, name,age,jumin);
System.out.println(formatStr);
- 배열에 저장된 데이터를 형식화해서 출력하기
//1. 배열에 저장된 데이터
Person p1=new Person("홍길동",20,"901010-1234567");
Person p2=new Person("이순신",44,"771122-1212121");
Person p3=new Person("강감찬",35,"830101-1231231");
Person[] pArr= {p1,p2,p3};
//반복문으로 접근하고 getter를 별도로 정의하여 접근함.
for (int i = 0; i < pArr.length; i++) {
String arrName = pArr[i].getName();
int arrAge = pArr[i].getAge();
String arrJumin=pArr[i].getJumin();
String arrFormat = MessageFormat.format(messagePattern, arrName, arrAge,arrJumin);
System.out.println(arrFormat);
}
IV. 정규표현식 Regex
- 나중에..
'개발자 양성과정 필기노트 > JAVA' 카테고리의 다른 글
멀티쓰레딩 (0) | 2021.11.13 |
---|---|
사용자 정의 예외 (0) | 2021.11.13 |
BigInteger / BigDecimal (0) | 2021.11.13 |
Enum (0) | 2021.11.13 |
JFrame 이벤트처리하는 5가지 방법 (0) | 2021.11.02 |
댓글