Double 클래스
Double 클래스는 double 형의 값을 포장하는 클래스입니다.
Double(double d) d : double 형의 값
Double(String str) str : double 형의 값과 같은 의미의 문자열
Double 클래스의 주요 메소드
① byte byteValue( )
현재 객체의 값을 byte 값으로 변환하여 반환합니다(double, float, short, int ,long에도 적용함).
② String toString( )
현재 객체의 값을 문자열로 반환합니다.
③ boolean equals(Object DoubleObj)
현재 객체가 가지고 있는 값과 DoubleObj 로 지정된 객체가 가지고 있는 값이 같으면 true 를 반환하고, 다르면 false를 반환합니다.
④ boolean isNaN( )
현재 객체가 가지고 있는 값이 NaN(Not a Number: 숫자가 아니면)이면 true를 반환하고, 숫자이면 false 를 반환합니다.
⑤ static boolean isNaN(double num)
num 이 NaN(Not a Number)이면 true를 반환하고, 숫자이면 false 를 반환합니다.
⑥ boolean isInfinite( )
현재 객체가 가지고 있는 값이 무한대의 작은 값(NEGATIVE_INFINITY) 이나 무한대의 큰 값(POSITIVE_INFINITY)을 가지면 true 를 반환하고, 아니면 false를 반환합니다.
⑦ static boolean isInfinite(double num)
num 이 무한대의 작은 값(NEGATIVE_INFINITY) 이나 무한대의 큰 값(POSITIVE_INFINITY)을 가지면 true 를 반환하고, 아니면 false를 반환합니다.
⑧ ststic Double valueOf(String str)
str로 지정된 값을 가지는 Double 객체를 반환합니다.
Double 클래스의 메서드들을 활용한 실습 프로그램은 다음과 같습니다.
public class DoubleClassTest {
public static void main(String[] args) {
Double d1 = new Double(0/0.);
Double d2 = new Double(10.0);
double num1 = 0, num2 = 0;
double num3 = num1/num2;
double a = Double.parseDouble("20");
//문자열("20")을 double값 20.0으로 변환한 후 double변수 a에 저장
Double b = Double.parseDouble("10");
//문자열("10")을 double값 10.0으로 변환한 후 Double형 객체 b에 저장
String c = "30";
System.out.println(Double.valueOf(c)); // string 값을 Double객체로 변환한 값 30.0 출력
System.out.println(b); // b Double 객체 10.0 출력
System.out.println(a); // a double 변수 값 20.0 출력
System.out.println("현재 객체의 값 = " + d2); // d2 Double 객체 10.0 출력
System.out.println("int 값으로 변환 = " + d2.intValue( ));
//d2 Double 객체의 int 값 10 출력
System.out.println("double 값으로 반환 = " + d2.doubleValue( ));
//d2 Double 객체의 double값 10.0 출력
System.out.println("String 으로 반환 = " + d2.toString());
//d2 Double 객체를 string으로 변환(10.0 출력)
System.out.println(d2.equals(b));
// d2객체의 값과 b객체의 값이 같으므로 true 출력
System.out.println("if NaN : " + d2.isNaN());
// NaN(Not a Number)면 true, 숫자이므로 false 출력
System.out.println("if NaN : " + Double.isNaN(a));
// double 변수 a 는 숫자이므로 false 출력
System.out.println("if isInfinite : " + d2.isInfinite());
//무한대의 작은값이나 큰값이 아니므로 false 출력
System.out.println("double형의 나눗셈결과 : " + num3);
System.out.println("num3 은 NaN(Not a Number) 이냐 ? " + Double.isNaN(num3));
System.out.println("num3 은 무한대의 값이냐 ? " + Double.isInfinite(num3));
System.out.println("Double의 최대값 : " + Double.MAX_VALUE);
System.out.println("Double의 최소값 : " + Double.MIN_VALUE);
System.out.println("0/0. : "+ d1 + " : " + d1.isInfinite() + ", " + d1.isNaN());
}
}
댓글