Typecasting trong Java là gì và nó hoạt động như thế nào?



Truyền kiểu trong Java là gán giá trị của một kiểu dữ liệu nguyên thủy cho kiểu dữ liệu khác. Trong bài viết này, tôi sẽ cho bạn biết về các loại chuyển đổi kiểu.

Lập trình đang chơi với dữ liệu. Trong , có nhiều kiểu dữ liệu. Hầu hết trong khi viết mã, cần phải thay đổi kiểu dữ liệu để hiểu được quá trình xử lý của một biến và điều này được gọi là Truyền kiểu. Trong bài viết này, tôi sẽ nói về các nguyên tắc cơ bản của Truyền kiểu trong Java.

Các chủ đề dưới đây được đề cập trong bài viết này:

Bắt đầu nào!





Đúc kiểu là gì?

Truyền kiểu không là gì ngoài việc gán giá trị của một sang cái khác. Khi bạn gán giá trị của kiểu dữ liệu này cho kiểu dữ liệu khác, bạn nên biết về tính tương thích của kiểu dữ liệu. Nếu chúng tương thích, thì sẽ tự động thực hiện chuyển đổi được gọi là Chuyển đổi loại tự động và nếu không, thì chúng cần được nhập hoặc chuyển đổi một cách rõ ràng.

Có hai kiểu ép kiểu trong Java như sau:



  • Mở rộng Truyền (tự động) - Điều này liên quan đến việc chuyển đổi một kiểu dữ liệu nhỏ hơn sang kích thước kiểu lớn hơn.

    byte -> short -> char -> int -> long -> float -> double

  • Thu hẹp Truyền (thủ công) - Điều này liên quan đến việc chuyển đổi một kiểu dữ liệu lớn hơn sang một kiểu kích thước nhỏ hơn.



    Token trong java là gì

    double -> float -> long -> int -> char -> short -> byte

Bây giờ chúng ta hãy đi vào chi tiết về các loại truyền kiểu.

Mở rộng Đúc

Kiểu truyền này diễn ra khi hai kiểu dữ liệu được tự động chuyển đổi. Nó còn được gọi là Chuyển đổi ngầm. Điều này xảy ra khi hai loại dữ liệu tương thích và cũng như khi chúng tôi chỉ định giá trị của một sang một kiểu dữ liệu lớn hơn.

cách khai báo mảng động trong java

Ví dụ, Các kiểu dữ liệu số tương thích với nhau nhưng không hỗ trợ chuyển đổi tự động từ kiểu số sang kiểu char hoặc boolean. Ngoài ra, char và boolean không tương thích với nhau. Bây giờ, hãy viết một lôgic cho tính năng Truyền kiểu ngầm để hiểu cách hoạt động của nó.

public class Conversion {public static void main (String [] args) {int i = 200 // chuyển đổi kiểu tự động long l = i // chuyển đổi kiểu tự động float f = l System.out.println ('Giá trị int' + i) System.out.println ('Giá trị dài' + l) System.out.println ('Giá trị nổi' + f)}}

Đầu ra:

Giá trị int 200 Giá trị dài 200 Giá trị nổi 200,0

Bây giờ, hãy tiến xa hơn và hiểu cách hoạt động của Truyền kiểu rõ ràng.

Thu hẹp truyền

Trong trường hợp này, nếu bạn muốn gán giá trị của kiểu dữ liệu lớn hơn cho kiểu dữ liệu nhỏ hơn, bạn có thể thực hiện Truyền kiểu rõ ràng hoặc thu hẹp. Điều này rất hữu ích cho các loại dữ liệu không tương thích, nơi không thể thực hiện chuyển đổi tự động.

Hãy hiểu điều này với sự trợ giúp của một ví dụ.

// Chương trình Java minh họa chuyển đổi kiểu tường minh public class Thu hẹp {public static void main (String [] args) {double d = 200.06 // kiểu ép kiểu tường minh long l = (long) d // kiểu ép kiểu tường minh int i = (int ) l System.out.println ('Giá trị kiểu dữ liệu kép' + d) // phần phân số bị mất System.out.println ('Giá trị kiểu dữ liệu dài' + l) // phần phân số bị mất System.out.println ('Int Giá trị kiểu dữ liệu '+ i)}}

Đầu ra:

Double Giá trị kiểu dữ liệu 200,06 Giá trị kiểu dữ liệu dài 200 Int Giá trị kiểu dữ liệu 200

Bây giờ bạn đã biết cách thực hiện truyền kiểu rõ ràng, hãy tiến xa hơn và hiểu cách truyền kiểu rõ ràng có thể được thực hiện trên các biểu thức Java.

Truyền kiểu rõ ràng trong biểu thức

Khi bạn đang đánh giá biểu thức, đầu ra được cập nhật tự động thành kiểu dữ liệu lớn hơn của toán hạng. Nhưng nếu bạn lưu trữ kết quả đó trong bất kỳ kiểu dữ liệu nào nhỏ hơn, nó sẽ tạo ra lỗi thời gian biên dịch, do đó chúng ta cần nhập kết quả đầu ra.

Thí dụ:

// Chương trình Java để minh họa kiểu ép kiểu int sang byte public class ExplicitTest {public static void main (String args []) {byte b = 70 // kiểu ép kiểu int thành byte b = (byte) (b * 2) System.out .println (b)}}

Đầu ra:

140

Ghi chú: Trong trường hợp toán hạng đơn, kết quả được chuyển thành int và sau đó nó được nhập kiểu tương ứng.

con rối vs ansible vs đầu bếp

Đó là tất cả về Truyền kiểu rõ ràng trong Java.Với điều này, chúng ta đi đến phần cuối của bài viết này. Tôihy vọng bạn tìm thấy nó thông tin. Nếu bạn muốn tìm hiểu thêm, bạn có thể xem cũng.

Kiểm tra của Edureka, một công ty học trực tuyến đáng tin cậy với mạng lưới hơn 250.000 người học hài lòng trải dài trên toàn cầu. Chúng tôi ở đây để giúp bạn từng bước trên hành trình của bạn, để trở thành một người ngoài câu hỏi phỏng vấn java này, chúng tôi còn đưa ra một chương trình giảng dạy được thiết kế cho sinh viên và các chuyên gia muốn trở thành một Nhà phát triển Java.

Có một câu hỏi cho chúng tôi? Vui lòng đề cập đến nó trong phần nhận xét của bài viết “Kiểu truyền trong Java” này và chúng tôi sẽ liên hệ lại với bạn trong thời gian sớm nhất.