Truyền kiểu Java
Truyền kiểu Java
Truyền kiểu là khi bạn gán giá trị của một kiểu dữ liệu nguyên thủy cho một kiểu khác.
Trong Java, có hai kiểu truyền:
- Truyền mở rộng (tự động) - chuyển đổi loại nhỏ hơn thành kích thước loại lớn hơn
byte
->short
->char
->int
->long
->float
->double
- Thu hẹp đúc (thủ công) - chuyển đổi loại lớn hơn thành loại kích thước nhỏ hơn
double
->float
->long
->int
->char
->short
->byte
Đúc mở rộng
Việc truyền mở rộng được thực hiện tự động khi chuyển loại kích thước nhỏ hơn sang loại kích thước lớn hơn:
Ví dụ
public class Main { public static void main(String[] args) { int myInt = 9; double myDouble = myInt; // Automatic casting: int to double System.out.println(myInt); // Outputs 9 System.out.println(myDouble); // Outputs 9.0 } }
Thu hẹp đúc
Việc thu hẹp việc truyền phải được thực hiện thủ công bằng cách đặt kiểu trong ngoặc đơn ()
trước giá trị:
Ví dụ
public class Main { public static void main(String[] args) { double myDouble = 9.78d; int myInt = (int) myDouble; // Manual casting: double to int System.out.println(myDouble); // Outputs 9.78 System.out.println(myInt); // Outputs 9 } }
Ví dụ thực tế
Đây là một ví dụ thực tế về việc truyền kiểu trong đó chúng tôi tạo một chương trình để tính tỷ lệ phần trăm điểm của người dùng so với điểm tối đa trong trò chơi.
Chúng tôi sử dụng tính năng truyền kiểu để đảm bảo rằng kết quả là giá trị dấu phẩy động , thay vì số nguyên:
Ví dụ
// Set the maximum possible score in the game to 500 int maxScore = 500; // The actual score of the user int userScore = 423; /* Calculate the percantage of the user's score in relation to the maximum available score. Convert userScore to float to make sure that the division is accurate */ float percentage = (float) userScore / maxScore * 100.0f; System.out.println("User's percentage is " + percentage);