2017년 2월 7일 화요일

[Java]기본 Class들(Wrapper, BigInteger, BigDecimal)


1)Wrapper class 
기본 자료형의 인스터스화를 지원
-Boolean
-Character
-Byte
-Short
-Integer
-Long
-Float
-Double
모든 기본 자료형에 해당하는 Wrapper클래스가 정의되어 있다. 또한 String의 참조 값을 인자로 받는 생성자들이 있어서 Integer num = new Integer("1230"); 이 가능하다.

1-2)unboxing
또한 wrapper클래스의 인스턴스에 저장된 값은 변경이 불가능하다. 새로운 인스턴스의 생성 및 참조만이 가능할 뿐이다.
이를 위한 기능 인스턴스->기본자료형으로 바꾸는 작업을 unboxing이라 한다.
Ex)
Double d  = new Double(3.14);
d2 = new Double(d.doubleValue()+1.2); //인스턴스에 저장되 있는 값을 얻어 새로 참조.

그러나 현재는 auto boxing/unboxing 기능을 지원한다.
Double d  = new Double(3.14);
d2 = d+1.2;    //인스턴스 d를 unboxing하여 1.2와 더한 후, 다시 boxing 하여 d2에 저장.



2)와 3)둘다 java.math패키지를 import해야 한다.

2)BigInteger class
Long형보다 더 큰 수를 표현할 때 사용.
BigInteger b = new BigInteger("111111111111111111111111111");
BigInteger b2 = b.add("12312222222222222");
//문자형으로 받는다. long형보다 큰 수를 변수에 못 담으니 생성자도 존재할 수 없다.

3)BigDecimal class
오차없는 실수 표현을 위한 클래스
BigDecimal c = new BigDecimal("1.66");
c= c.add(new BigDecimal("0.33"));





댓글 없음:

댓글 쓰기