본문 바로가기

전체 글125

01. [자바] Calendar & Date Calendar와 GregorianCalendar Calendar는 추상클래스이기 때문에 메서드를 통해서 완전히 구현된 클래스의 인스턴스를 얻어야 한다. Calendar cal = new Calendar(); // 추상클래스는 인스턴스를 생성할 수 없다. //getInstance() 메서드는 Calendar 클래스를 구현한 클래스의 인스턴스를 반환한다. Calendar cal = Calendar.getInstance(); Calendar를 상속받아 완전히 구현한 클래스로는 GregorianCalendar와 BuddhistCalendar가 있는데 getInstance()는 시스템의 국가 설정을 확을해 태국인 경우에만 BuddhistCalendar를 반환하고 그 외의 경우에는 GregorianCalendar.. 2020. 12. 29.
14. [자바] BigDecimal클래스 BigDecimal클래스? double타입으로 표현할 수 있는 값도 범위가 넓은 편이지만 정밀도가 최대 13자리 밖에 되지 않고 실수형의 특성상 오차를 피할 수 없다. 하지만 BigDecimal을 이용한다면 더 큰 실수를 다룰수 있다. private final BigInteger intVal; // 정수(unscaled value) private final int scale; // 지수(scale) private transient int precision // 정밀도(percision) - 정수의 자릿수위의 코드는 클래스 내부에 정의된 멤버변수인데 정수부분 지수부분 정밀도를 각 변수에 담아 사용하고 있다 BigDecimal에 $123.45$를 담는다 했을 때 $12345\times10^{-2}$ 로 표현.. 2020. 12. 28.
13. [자바] BigInteger클래스 BigInteger클래스? 정수형으로 표현할 수 있는 값의 한계가 있는데 가장 큰 정수형 타입인 long으로도 10진수 19자리 정도이다. 이 값도 상당히 큰 값이지만, 분명 더 큰 값을 다뤄야 할 때가 있는데 이럴때 BigInteger를 사용하면 좋다. BigInteger는 내부적으로 int배열을 사용해 값을 다루기 때문에 long타입보다 훨씬 큰 값을 다룰 수있지만 성능은 long타입보다 떨어진다. final int signum; // 부호. 1(양수), 0, -1(음수) 셋 중의 하나 final int[] mag; // 값(magnitude) BigInteger도 String처럼 불변이다. BigInteger의 생성 BigInteger는 정수형으로는 표현할 수 있는 값의 한계가 있기 때문에 문자열로.. 2020. 12. 28.
12. [자바] StringTokenizer클래스 StringTokenizer클래스? StringTokenizer는 문자열을 지정된 구분자(deilmiter)를 기준으로 토큰(token)이라는 여러 개의 문자열로 잘라내는 데 사용된다. 예를들어 "1,2,3,4,5"를 ','구분자로 잘라내면 "1", "2", "3", "4", "5"의 5개의 문자열(토큰)을 얻을 수 있다. StringTokenizer을 이용하는 방법 외에도 String클래스의 split()을 이용하는 방법 "1,2,3,4,5".split();Scanner클래스의 useDelimiter()를 이용하는 방법 등이 있다. Scanner scan = new Scanner("1,2,3,4,5").useDelimiter(","); while(scan.hasNextInt()) { sc.. 2020. 12. 28.