Java – Number

Trong Java, chúng ta phần lớn là sử dụng các kiểu dữ liệu cơ bản, nhưng Java cũng cung cấp một wrapper class nằm dưới abstract class của number trong package java.lang, có 6 class nằm dưới class number.

Các kiểu dữ liệu cơ bản được đóng gói dưới các class Java cho các object tương ứng của chúng. Những gói này thường được thực hiện bởi trình biên dịch. Khi một object được chuyển đổi thành kiểu cơ bản thì nó được gọi là Autoboxing và sau đó được chuyển đổi ngược lại thành object thì được gọi là Unboxing.

Chúng ta có ví dụ về Number như sau

public class Test {
   public static void main(String args[]) {
      Integer x = 5; // boxes int to an Integer object
      x =  x + 10;   // unboxes the Integer to a int
      System.out.println(x);
   }
}

Các phương thức của Java Number

Có nhiều loại phương thức Java Number khác nhau, chúng ta sẽ cùng nhau tìm hiểu từng loại phương thức một

kiểu_number_Value()

“kiểu_number” đại diện cho các kiểu dữ liệu cơ bản byte, short, int, long, float, double.  Kiểu dữ liệu này ở đây được sử dụng để chuyển đổi kiểu dữ liệu number thành kiểu đề cập.

Cú pháp

byte byteValue()
short shortValue()
int intValue()
long longValue()
float floatValue()
double doubleValue()

Ví dụ

//Java program ví dụ về phương thức xxxValue()
public class Test
{
    public static void main(String[] args)
    {
        // tạo Double Class object với giá trị "6.9685"
        Double d = new Double("6.9685");   
        // chuyển đổi Double(Number) object thành các kiểu dữ liệu cơ bản khác
        byte b = d.byteValue();
        short s = d.shortValue();
        int i = d.intValue();
        long l = d.longValue();
        float f = d.floatValue();
        double d1 = d.doubleValue();            
        System.out.println("value of d after converting it to byte : " + b);
        System.out.println("value of d after converting it to short : " + s);
        System.out.println("value of d after converting it to int : " + i);
        System.out.println("value of d after converting it to long : " + l);
        System.out.println("value of d after converting it to float : " + f);
        System.out.println("value of d after converting it to double : " + d1);
    }
}

Kết quả

value of d after converting it to byte : 6
value of d after converting it to short : 6
value of d after converting it to int : 6
value of d after converting it to long : 6
value of d after converting it to float : 6.9685
value of d after converting it to double : 6.9685

int compareTo(NumberSubClass referenceName)

Phương thức được sử dụng để so sánh tham số truyền vào với object number, nhưng hai kiểu khác nhau sẽ không so sánh được vì vậy tham số truyền vào và object number phải cùng kiểu với nhau.

Tham chiếu có thể là kiểu dạng byte, short, double, float và long

Cú pháp

public int compareTo( NumberSubClass referenceName )

Ví dụ

// Chương trình Java ví dụ phương thức compareTo()
public class Test
{
    public static void main(String[] args)
    {
        // Tạo Integer Class object với giá trị "10"
        Integer i = new Integer("10");  
        // So sánh giá trị của i
        System.out.println(i.compareTo(8));
        System.out.println(i.compareTo(10));
        System.out.println(i.compareTo(11));
    }
}

boolean equals(Object obj)

Phương thức Java Number này được dùng để xác định object number nào là bằng với tham số hay không

Cú pháp

public boolean equals(Object obj)

Ví dụ

//Java program ví dụ về phương thức equals(
public class Test
{
    public static void main(String[] args)
    {
        // tạo Short Class object với giá trị "15"
        Short s = new Short("15");
        // tạo Short Class object với giá trị "10"
        Short x = 10;
        // tạo Integer Class object với giá trị "15"
        Integer y = 15;
        // tạo Short Class object với giá trị "15"
        Short z = 15;
        // so sánh s với các object khác
        System.out.println(s.equals(x));
        System.out.println(s.equals(y));
        System.out.println(s.equals(z));
    }
}

int parseInt(String s,int radix)

Tham số radix trong phương thức này dùng để trả về kết quả theo hệ cơ số 10, hệ cơ số 8, hoặc hệ cơ số 16 v..v làm đầu ra, phương thức này sử dụng để chuyển đổi sang kiểu dữ liệu cơ bản

static int parseInt(String s, int radix)

Ví dụ

//Java program ví dụ về phương thức Integer.parseInt()
public class Test
{
    public static void main(String[] args)
    {
      // parsing different strings
        int z = Integer.parseInt("654",8);
        int a = Integer.parseInt("-FF", 16);
        long l = Long.parseLong("2158611234",10);
        System.out.println(z);
        System.out.println(a);
        System.out.println(l);
      // run-time NumberFormatException will occur here "Geeks" is not a parsable string
        int x = Integer.parseInt("Geeks",8);
     // run-time NumberFormatException will occur here(for octal(8),allowed digits are [0-7])
        int y = Integer.parseInt("99",8);
    }
}

int parseInt(String s)

Phương thức dùng để chuyển đổi string sang kiểu dữ liệu cơ bản, chỉ khác là radix sử dụng hệ cơ số 19 mặc định

Cú pháp

static int parseInt(String s)

Ví dụ

//Java program ví dụ phương thức Integer.parseInt()
public class Test
{
    public static void main(String[] args)
    {
        // parsing different strings
        int z = Integer.parseInt("655");
        long l = Long.parseLong("2123211234");          
        System.out.println(z);
        System.out.println(l);           
        // run-time NumberFormatException will occur here "shadow" is not a parsable string
        int x = Integer.parseInt("shadow");           
        // run-time NumberFormatException will occur here (for decimal(10),allowed digits are [0-9])
        int a = Integer.parseInt("-FF");         
    }
}

String toString()

Phương thức này được dùng để chuyển đổi bất kỳ kiểu Number nào sang String, có 3 biến thể của phương thức này

  • toBinaryString(int i)
  • toHexString(int i)
  • toOctalString(int i)

Cú pháp

String toString()
String toString(int i)

Ví dụ

//Java program ví dụ về Integer.toString() và Integer.toString(int i)
public class Test
{
    public static void main(String[] args)
    {
        // demonstrating toString() method
        Integer x = 12;
        System.out.println(x.toString());
        // demonstrating toString(int i) method
        System.out.println(Integer.toString(12));
        System.out.println(Integer.toBinaryString(152));
        System.out.println(Integer.toHexString(152));
        System.out.println(Integer.toOctalString(152));
    }
}

Integer valueOf()

Phương thức này trả về giá trị integer của kiểu dữ liệu cơ bản

Cú pháp

Integer valueOf(int i)
Integer valueOf(String s)
Integer valueOf(String s, int radix)

Ví dụ

// Java program ví dụ phương thức valueOf()
public class Test
{
    public static void main(String[] args)
    {
        // demonstrating valueOf(int i) method
        System.out.println("Demonstrating valueOf(int i) method");
        Integer i =Integer.valueOf(50);
        Double d = Double.valueOf(9.36);
        System.out.println(i);
        System.out.println(d);       
        // demonstrating valueOf(String s) method
        System.out.println("Demonstrating valueOf(String s) method");
        Integer n = Integer.valueOf("333");
        Integer m = Integer.valueOf("-255");
        System.out.println(n);
        System.out.println(m);
        // demonstrating valueOf(String s,int radix) method
        System.out.println("Demonstrating (String s,int radix) method");
        Integer y = Integer.valueOf("333",8);
        Integer x = Integer.valueOf("-255",16);
        Long l = Long.valueOf("51688245",16);
        System.out.println(y);
        System.out.println(x);
        System.out.println(l);
        // run-time NumberFormatException will occur in below cases
        Integer a = Integer.valueOf("shadow");
        Integer b = Integer.valueOf("shadow",16);
    }
}

 

You May Also Like

About the Author: Nguyen Dinh Thuc

Leave a Reply

Your email address will not be published.