11/08/2018, 18:50

Ép kiểu trong Java

Biến và kiểu dữ liệu trong java Ép kiểu trong java là việc gán giá trị của một biến có kiểu dữ liệu này tới biến khác có kiểu dữ liệu khác. Ví dụ: float c = 35.8f; int b = (int)c + 1; Trong ví dụ trên, đầu tiên giá trị dấu phảy động c được đổi thành giá ...

Biến và kiểu dữ liệu trong java

Ép kiểu trong java là việc gán giá trị của một biến có kiểu dữ liệu này tới biến khác có kiểu dữ liệu khác.

Ví dụ:

float c = 35.8f;
int b = (int)c + 1;

Trong ví dụ trên, đầu tiên giá trị dấu phảy động c được đổi thành giá trị nguyên 35. Sau đó nó được cộng với 1 và kết quả là giá trị 36 được lưu vào b.

Phân loại ép kiểu trong java

Trong Java, có hai loại ép kiểu dữ liệu:

  1. Nới rộng (widening): Là quá trình làm tròn số từ kiểu dữ liệu có kích thước nhỏ hơn sang kiểu có kích thước lớn hơn. Kiểu biến đổi này không làm mất thông tin.
  2. Thu hẹp (narrowwing): Là quá trình làm tròn số từ kiểu dữ liệu có kích thước lớn hơn sang kiểu có kích thước nhỏ hơn. Kiểu biến đổi này có thể làm mất thông tin

1. Nới rộng (widening)

ep-kieu-du-lieu-noi-rong

Nới rộng (widening): Là quá trình làm tròn số từ kiểu dữ liệu có kích thước nhỏ hơn sang kiểu có kích thước lớn hơn. Kiểu biến đổi này không làm mất thông tin. Ví dụ chuyển từ int sang float. Chuyển kiểu loại này có thế được thực hiện ngầm định bởi trình biên dịch.

Ví dụ:

public class TestWidening {
    public static void main(String[] args) {
        int i = 100;
        long l = i;    // không yêu cầu chỉ định ép kiểu
        float f = l;   // không yêu cầu chỉ định ép kiểu
        System.out.println("Giá trị Int: " + i);
        System.out.println("Giá trị Long: " + l);
        System.out.println("Giá trị Float:  " + f);
    }
}

Kết quả:

Giá trị Int: 100
Giá trị Long: 100
Giá trị Float:  100.0

2.Thu hẹp (narrowwing)

ep-kieu-du-lieu-thu-hep

Thu hẹp (narrowwing): Là quá trình làm tròn số từ kiểu dữ liệu có kích thước lớn hơn sang kiểu có kích thước nhỏ hơn. Kiểu biến đổi này có thể làm mất thông tin như ví dụ ở trên. Chuyển kiểu loại này không thể thực hiện ngầm định bởi trình biên dịch, người dùng phải thực hiện chuyển kiểu tường minh.

Ví dụ:

public class TestNarrowwing {
    public static void main(String[] args) {
        double d = 100.04;
        long l = (long) d; // yêu cầu chỉ định kiểu dữ liệu (long)
        int i = (int) l; // yêu cầu chỉ định kiểu dữ liệu (int)

        System.out.println("Giá trị Double: " + d);
        System.out.println("Giá trị Long: " + l);
        System.out.println("Giá trị Int:  " + i);

    }
}

Kết quả:

Giá trị Double: 100.04
Giá trị Long: 100
Giá trị Int:  100
Biến và kiểu dữ liệu trong java

:

  • Chuyển đổi String thành int trong java
  • Chuyển đổi int thành String trong java
  • Chuyển đổi String thành long trong java
  • Chuyển đổi long thành String trong java
  • Chuyển đổi String thành float trong java
  • Chuyển đổi float thành String trong java
  • Chuyển đổi String thành double trong java
  • Chuyển đổi double thành String trong java
  • Chuyển đổi String thành short trong java
  • Chuyển đổi short thành String trong java
  • Chuyển đổi String thành Date trong java
0