Mục lục
Double class là wrapper class của kiểu dữ liệu nguyên thủy double chứa nhiều method giúp chúng ta thao tác dễ dàng hơn với double value. Hoặc là chúng ta có thể sử dụng ArrayList, LinkedListed etc với double value thông qua Double object vì chúng chỉ thao tác với object. Mỗi object Double chứa duy nhất một giá trị double.
Constructor
Để khởi tạo object Double class, chúng ta có 2 cách chính như sau
1, Double (double d): Khởi tạo Float object từ một double value được cung cấp.
Syntax public Double(double value) Example Double d = new Double(10.3242d);
2, Double (String s): Khởi tạo Double object từ chuỗi double value. Nếu chuỗi không hợp lệ sẽ gây ra lỗi NumberFormatException.
Syntax public Double(String s) throws NumberFormatException Example Double d = new Double("10.3242d");
Giá trị double lớn nhất – nhỏ nhất
Double class còn cung cấp cho chúng ta 2 hằng số mà được sử dụng nhiều khi thao tác với kiểu dữ liệu double là giá trị lớn nhất và bé nhất.
Giá trị lớn nhất: Double.MAX_VALUE (1.7976931348623157E308).
Giá trị nhỏ nhất: Double.MIN_VALUE (4.9E-324).
Các method trong Float class
Float class thừa kế từ Number class nên ngoài các method intValue(), longValue(), doubleValue() etc thì Float class còn cung cấp cho chúng ta rất nhiều method. Sau đây mình sẽ liệt kê một số method mà mình thường sử dụng trong quá trình code java:
1, toString(): Trả về String số tương ứng với giá trị double.
Syntax
public String toString()
Example
Double number = new Double (10.214243d); System.out.println(number.toString()); // 10.214243
2, valueOf(): Khởi tạo một object Double từ giá trị double cung cấp. Nếu giá trị cung cấp không hợp lệ thì sẽ gây ra lỗi NumberFormatException.
Syntax
public static Double valueOf(double d) // or public static Double valueOf(String s) throws NumberFormatException
System.out.println(Double.valueOf("100.21432325d")); // 100.21432325 System.out.println(Double.valueOf(100.214214d)); // 100.214214 System.out.println(Double.valueOf("aaa")); // NumberFormatException
3, parseDouble(): Trả về double value từ một chuỗi số được cung cấp. Nếu giá trị được cung cấp không hợp lệ gây ra lỗi NumberFormatException.
Syntax
public static float parseDouble(String s) throws NumberFormatException
System.out.println(Double.parseDouble("100.2134324d")); // 100.2134324 System.out.println(Double.parseDouble("aaa")); // NumberFormatException
4, isNaN(): Trả về true nếu Double object không phải là số, ngược lại false.
Syntax
public boolean isNaN()
Example
Double d1 = new Double(-1.0/0.0); Double d2 = new Double(1.0/0.0); Double d3 = new Double(0.0/0.0); System.out.println(d1 + " = " + d1.isNaN()); // -Infinity = false System.out.println(d2 + " = " + d2.isNaN()); // Infinity = false System.out.println(d3 + " = " + d3.isNaN()); // NaN = true
5, isInfinite(): Trả về true nếu double object chứa giá trị rất lớn(+-), ngược lại false.
Syntax
public boolean isInfinite()
Example
Double d1 = new Double(-1.0/0.0); Double d2 = new Double(1.0/0.0); Double d3 = new Double(0.0/0.0); System.out.println(d1 + " = " + d1.isInfinite()); // -Infinity = true System.out.println(d2 + " = " + d2.isInfinite()); // Infinity = true System.out.println(d3 + " = " + d3.isInfinite()); // NaN = false
6, equals(): So sánh bằng giữa 2 object Double.
Syntax
public boolean equals(Object obj)
Example
Double a = Double.valueOf(100.232d); Double b = Double.valueOf(100.2d); Double c = Double.valueOf(100.232d); System.out.println(a.equals(b)); // false System.out.println(a.equals(c)); // true
7, compareTo(): So sánh 2 object Double. Trả về -1 nếu nhỏ hơn, 1 lớn hơn, 0 bằng.
Syntax
public int compareTo(Double anotherDouble)
Example
Double a = Double.valueOf(100.232d); Double b = Double.valueOf(100.2d); Double c = Double.valueOf(100.232d); System.out.println(a.compareTo(b)); // 1 System.out.println(b.compareTo(a)); // -1 System.out.println(a.compareTo(c)); // 0
8, max(): Lấy số lớn nhất trong 2 số, nếu 2 số trùng nhau thì trả về một trong hai.
Syntax
public static double max(double a, double b)
Example
System.out.println(Double.max(100.43d, 90.43d)); // 100.43 System.out.println(Double.max(100.43d, 100.43d)); // 100.43
public static double min(double a, double b)
Example
System.out.println(Double.min(100.43d, 90.43d)); // 90.43 System.out.println(Double.min(100.43d, 100.43d)); // 100.43
10, sum(): Trả về tổng của 2 số double.
Syntax
public static double sum(float a, float b)
Example
System.out.println(Double.sum(100.43d, 90.43d)); // 190.86
Abstract method
Ngoài các method trên thì Double class cũng implement các method của Number abstract class. Các method này sẽ giúp chúng ta chuyển giá trị kiểu long sang các kiểu dữ liệu khác như double, float, long để thao tác:
- public byte byteValue(): Trả về byte tương ứng của Integer object.
- public short shortValue(): Trả về short value tương ứng của Integer object.
- public int intValue(): Trả về int value tương ứng của Integer object.
- public long longValue(): Trả về long value tương ứng của Integer object.
- public double doubleValue(): Trả về double value tương ứng của Integer object.
- public float shortValue(): Trả về float value tương ứng của Integer object.
Ví dụ
public class Main { public static void main(String[] args) { Double d = Double.valueOf(1000.43342d); System.out.println("Byte value: " + d.byteValue()); System.out.println("Short value: " + d.shortValue()); System.out.println("Int value: " + d.intValue()); System.out.println("Long value: " + d.longValue()); System.out.println("Double value " + d.doubleValue()); System.out.println("Float value: " + d.floatValue()); double a = 5.5d; double _d = d.doubleValue()/a; System.out.println(_d); float b = 5.5f; float f = d.floatValue()/b; System.out.println(f); } }
Output
Byte value: -24
Short value: 1000
Int value: 1000
Long value: 1000
Double value 1000.43342
Float value: 1000.4334
181.89698545454544
181.89699