Truyền kiểu Java (Với các ví dụ)

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 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 ( int, float, double, 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 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

 Giá trị nguyên: 10 Giá trị kép: 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 trước 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

 Giá trị kép: 10,99 Giá trị nguyên: 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

 Giá trị nguyên là: 10 Giá trị chuỗi là: 10 

Trong chương trình trên, hãy để ý 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

 Giá trị chuỗi là: 10 Giá trị nguyên là: 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.

thú vị bài viết...