Bài 6: Chuyển đổi kiểu dữ liệu


1. Chuyển đổi kiểu dữ liệu là gì?

Chuyển đổi kiểu dữ liệu (hay ép kiểu) là một kỹ thuật lập trình được trình biên dịch hoặc lập trình viên sử dụng để chuyển đổi kiểu dữ liệu này sang kiểu dữ liệu khác trong Java. Ví dụ, chuyển đổi từ kiểu dữ liệu int sang kiểu double, chuyển từ kiểu short sang kiểu int.
Có hai loại chuyển đổi kiểu trong lập trình Java:

  • Ép kiểu mở rộng (tự động).
  • Ép kiểu thu hẹp (thủ công).

2. Ép kiểu mở rộng

Ép kiểu mở rộng hay còn gọi là ép kiểu ngầm định trong đó kiểu có kích thước nhỏ hơn được chuyển đổi thành kiểu có kích thước lớn hơn, được trình biên dịch thực hiện một cách tự động.
Sơ đồ thực hiện ép kiểu mở rộng như sau:

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

Với ép kiểu mở rộng thì lập trình viên không thực hiện ép kiểu mà thay vào đó, trình biên dịch là vai trò tác nhân trong việc ép kiểu. Thời kiểu trình biên dịch ép kiểu là tại lúc biên dịch.
Ví dụ:

package mo_rong;

public class MoRong {
	public static void main(String[] args) {
		// khai bao bien
		int a = 5;
		double b = 10.2;
		
		// tinh tong
		double c = a + b;
		
		// hien thi
		System.out.println("Tong c la: " + c);
	}
}

3. Ép kiểu thu hẹp

Ép kiểu thu hẹp hay còn được gọi là ép kiểu rõ ràng, tức là ta cần phải xác định một cách tường mình, rõ ràng kiểu dữ liệu đích mà cần ép kiểu sang. Với ép kiểu thu hẹp thì cần lập trình viên thực hiện thủ công. Ta có thể ép từ kiểu lớn hơn sang kiểu nhỏ hơn. Ví dụ:

double doubleNum = (double) num;

Khi thực hiện ép kiểu thu hẹp thì ta cần phải đặt kiểu dữ liệu đích trong dấu ngoặc đơn () trước giá trị ép kiểu.
Ví dụ:

package thu_hep;
public class ThuHep {
	public static void main(String[] args) {
		// khai bao bien
		int a = 5;
		double b = 10.5;
		
		// chuyen tu kieu int sang double
		double d_num = (double)a;
		
		// chuyen tu kieu double sang int
		int d_int = (int)b;
		
		// hien thi
		System.out.println("Gia tri sau khi ep mo rong la: " + d_num);
		System.out.println("Gia tri sau khi ep thu hep la: " + d_int);
	}
}

Có thể bạn sẽ thích…

Để lại một bình luận