본문 바로가기

Back-end139

10 날짜와 시간 & 형식화 (4) MessageFormat MessageFormat은 데이터를 정해진 양식에 맞게 출력할 수 있게 도와준다. 데이터가 들어갈 자리를 마련해 놓은 양식을 미리 작성하고 프로그램을 이용해서 다수의 데이터를 같은 양식으로 출력할 때 사용하면 좋다. 예를 들어 고객들에게 보낼 안내문을 출력할 때 같은 안내문 양식에 받는 사람과 이름과 같은 데이터만 달라지도록 출력할 때, 또는 하나의 데이터를 다양한 방식으로 출력할 때 사용한다. 그리고 SimpleDateFormat의 parse처럼 MessageFormat의 parse를 이용하면 지정된 양식을 이용하면 지정된 양식에서 필요한 데이터만을 손쉽게 추출해 낼 수도 있다. import java.text.*; public class MessageFormatEx1 { pub.. 2021. 7. 5.
01 데이터 베이스 01-1 데이터와 데이터베이스 , DBMS 데이터베이스는 데이터(data)와 베이스(base)의 합성어이며, DBMS는 Database Management Syste의 약자로 '데이터베이스 관리 시스템'을 의미한다. 데이터와 정보 어학 사전에서 '데이터'를 찾아보면 '자료', '정보'라는 두 가지 의미가 있다. 그러나 데이터베이스 분야에서는 데이터(data)와 정보(information)는 다른 의미로 해석한다. 데이터를 원석으로 , 정보를 보석으로 비유하면 이해하기가 쉽다. 즉, 데이터는 어떤 필요에 의해 수집했지만 아직 특정 목적을 위해 평가하거나 정제하지 않은 값이나 사실 또는 자료 자체를 의미한다. 그리고 정보는 수집한 데이터를 어떠한 목적을 위해 분석하거나 가공하여 가치를 추가하거나, 새로운 의.. 2021. 7. 4.
10 날짜와 시간 & 형식화 (3) 형식화 클래스 성적처리 프로그램을 작성했을 때 각 점수의 평균을 소수점 2자리로 일정하게 맞춰서 출력하려면 어떻게 해야 할까 고민해본 적이 있을 것이다. 평균값에 100을 곱하고 int형으로 형변환한 다음에 다시 100f로 나누고 반올림하려면 Math.round()도 써야하고 등등 생각만 해도 머리가 복잡하다. 날짜를 형식에 맞게 출력하려면 숫자보다 더 복잡해진다. Calendar를 이용해서 년, 월, 일, 시 , 분, 초를 각각 별도로 얻어서 조합을 해야 하는 과정을 거쳐야 한다. 자바에서는 이러한 문제들을 쉽게 해결할 수 있는 방법을 제공하는데, 그것이 바로 형식화 클래스이다. 이 클래스는 java.text패키지에 포함되어 있으며, 숫자, 날자, 텍스트 데이터를 일정한 형식에 맞게 표현할 수 있는 방.. 2021. 7. 3.
10 날짜와 시간 & 형식화 (2) import java.util.*; public class CalendarEx2 { public static void main(String[] args) { final String[] DAY_OF_WEEK = {"","일","월","화","수","목","금","토"}; Calendar date1 = Calendar.getInstance(); Calendar date2 = Calendar.getInstance(); //month의 경우 0부터 시작하기 때문에 8월인경우, 7로 지정해야 한다. //date1.set(2015, Calendar.AUGUST, 15); 와 같이 할수 도 있다. date1.set(2015, 7,15); // 2015년 8월 15일로 날짜를 설정한다. System.out.printl.. 2021. 7. 2.
10 날짜와 시간 & 형식화(1) Calendar와 Date Date는 날짜와 시간을 다룰 목적으로 JDK1.0부터 제공되어온 클래스이다. JDK1.0이 제공하는 클래스의 수와 기능은 지금과 비교할 수 없을 정도로 빈약했다. Date클래스 역시 기능이 부족했기 때문에 , 서둘러 Calendar라는 새로운 클래스를 그 다음 버전인 JDK1.1부터 제공하기 시작했다. Calendar는 Date보다는 훨씬 나았지만 몇 가지 단점들이 발견되었다. 늦은 감이 있지만 JDK1.8부터 'java.time패키지'로 기존의 단점들을 개선한 새로운 클래스들이 추가되었다. 새로 추가된 java.time패키지만 배우면 좋을 텐데, 아쉽게도 Calendar와 Date는 자바의 탄생부터 지금까지 20년이 넘게 사용되어 왔고, 지금도 계속 사용되고 있으므로 배우지.. 2021. 7. 2.
java.lang패키지와 유용한 클래스(8) java.math.BigInteger 클래스 정수형으로 표현할 수 있는 값의 한계가 있다. 가장 큰 정수형 타입인 long으로 표현할 수 있는 값은 10진수로 19자리 정도이다. 이 값도 상당히 큰 값이지만, 과학적 계산에서는 더 큰값을 다뤄야할 때가 있다. 그럴 떄 사용하면 좋은 것이 BigInteger이다. BigInteger는 내부적으로 int배열을 사용해서 값을 다룬다. 그래서 long타입보다 훨씬 큰 값을 다룰 수 있는 것이다. 대신 성능은 long타입밖에 떨어질 수 밖에 없다. final int signum; //부호 1(양수), 0, -1(음수) 셋중 하나 final int[] mag; //값(magnitude) 위의 코드에서 알 수 있듯이, BigInteger는 String처럼 불변(imm.. 2021. 7. 1.