Truyền kiểu Java

Trong hướng dẫn này, chúng ta sẽ tìm hiểu về Truyền kiểu Java và các kiểu của nó với sự trợ giúp của các ví dụ.

Trước khi bạn tìm hiểu về Truyền kiểu Java , hãy đảm bảo rằng bạn biết về Kiểu dữ liệu Java .

Loại Đúc

Quá trình chuyển đổi giá trị của một kiểu dữ liệu ( intfloatdouble, vv) để một loại dữ liệu được gọi là typecasting.

Trong Java, có 13 kiểu chuyển đổi kiểu. Tuy nhiên, trong hướng dẫn này, chúng tôi sẽ chỉ tập trung vào 2 loại chính.

1. Đúc kiểu mở rộng

2. Đúc loại thu hẹp

Để tìm hiểu về các kiểu chuyển đổi kiểu khác, hãy truy cập Chuyển đổi kiểu Java (tài liệu Java chính thức) .

Mở rộng kiểu Đúc

Trong Truyền kiểu mở rộng , Java tự động chuyển đổi một kiểu dữ liệu này sang kiểu dữ liệu khác.

Ví dụ: Chuyển đổi int thành double

class Main {
  public static void main(String[] args) {
    // create int type variable
    int num = 10;
    System.out.println("The integer value: " + num);

    // convert into double type
    double data = num;
    System.out.println("The double value: " + data);
  }
}

Đầu ra

The integer value: 10
The double value: 10.0

Trong ví dụ trên, chúng ta đang gán intbiến kiểu có tên là num cho một doublebiến kiểu có tên là dữ liệu .

Ở đây, Java đầu tiên chuyển đổi intdữ liệu kiểu thành doublekiểu. Và sau đó gán nó cho doublebiến.

Trong trường hợp Truyền kiểu mở rộng , kiểu dữ liệu thấp hơn (có kích thước nhỏ hơn) được chuyển đổi thành kiểu dữ liệu cao hơn (có kích thước lớn hơn). Do đó không có mất mát dữ liệu. Đây là lý do tại sao loại chuyển đổi này xảy ra tự động.

Lưu ý : Đây còn được gọi là Truyền kiểu ngầm định .

Đúc loại thu hẹp

Trong Truyền kiểu thu hẹp , chúng tôi chuyển đổi thủ công một kiểu dữ liệu này sang kiểu dữ liệu khác bằng cách sử dụng dấu ngoặc đơn.

Ví dụ: Chuyển double thành int

class Main {
  public static void main(String[] args) {
    // create double type variable
    double num = 10.99;
    System.out.println("The double value: " + num);

    // convert into int type
    int data = (int)num;
    System.out.println("The integer value: " + data);
  }
}

Đầu ra

The double value: 10.99
The integer value: 10

Trong ví dụ trên, chúng ta đang gán doublebiến kiểu có tên là num cho một intbiến kiểu có tên là dữ liệu .

Lưu ý dòng,

int data = (int)num;

Ở đây, inttừ khóa bên trong dấu ngoặc đơn cho biết rằng biến num được chuyển đổi thành intkiểu.

Trong trường hợp Truyền kiểu thu hẹp , các kiểu dữ liệu cao hơn (có kích thước lớn hơn) được chuyển đổi thành các kiểu dữ liệu thấp hơn (có kích thước nhỏ hơn). Do đó có việc mất dữ liệu. Đây là lý do tại sao loại chuyển đổi này không diễn ra tự động.

Lưu ý : Đây còn được gọi là Truyền kiểu rõ ràng .

Hãy xem một số ví dụ về chuyển đổi kiểu khác trong Java.

Ví dụ 1: Kiểu chuyển đổi từ int sang String

class Main {
  public static void main(String[] args) {
    // create int type variable
    int num = 10;
    System.out.println("The integer value is: " + num);

    // converts int to string type
    String data = String.valueOf(num);
    System.out.println("The string value is: " + data);
  }
}

Đầu ra

The integer value is: 10
The string value is: 10

Trong chương trình trên, lưu ý dòng

String data = String.valueOf(num);

Ở đây, chúng ta đã sử dụng valueOf()phương thức của lớp Java String để chuyển biến kiểu int thành một chuỗi.

Ví dụ 2: Kiểu chuyển đổi từ String sang int

class Main {
  public static void main(String[] args) {
    // create string type variable
    String data = "10";
    System.out.println("The string value is: " + data);

    // convert string variable to int
    int num = Integer.parseInt(data);
    System.out.println("The integer value is: " + num);
  }
}

Đầu ra

The string value is: 10
The integer value is: 10

Trong ví dụ trên, hãy để ý dòng

int num = Integer.parseInt(data);

Ở đây, chúng ta đã sử dụng parseInt()phương thức của Integerlớp Java để chuyển một biến kiểu chuỗi thành một intbiến.

Lưu ý : Nếu biến chuỗi không thể được chuyển đổi thành biến số nguyên thì một ngoại lệ có tên sẽ NumberFormatExceptionxảy ra.









Gõ tìm kiếm nhanh...