Các Kiểu Dữ Liệu Trong Java

Trong Java, có các kiểu dữ liệu cơ bản được chuẩn bị, và mỗi loại dữ liệu sẽ quy định loại và phạm vi dữ liệu có thể xử lý. Các kiểu dữ liệu cơ bản bao gồm số nguyên, số thực, ký tự và logic. Ở đây, chúng ta sẽ giải thích về loại và dữ liệu có thể xử lý được trong Java.

Các Kiểu Dữ Liệu Cơ Bản

Trong Java, có các kiểu dữ liệu cơ bản sau:

Kiểu dữ liệuGiá trị
booleantrue hoặc false
charKý tự Unicode 16 bit \u0000~\uFFFF
byteSố nguyên 8 bit -128~127
shortSố nguyên 16 bit -32,768~32,767
intSố nguyên 32 bit -2,147,483,648~2,147,483,647
longSố nguyên 64 bit -9,223,372,036,854,775,808~9,223,372,036,854,775,807
floatSố thực dấu đơn 32 bit
doubleSố thực dấu kép 64 bit

Có một số kiểu dữ liệu để lưu trữ giá trị số nguyên, nhưng mỗi kiểu có phạm vi giá trị khác nhau. Mặc dù có thể sử dụng kiểu dữ liệu có phạm vi lớn hơn như kiểu long để xử lý mọi giá trị, nhưng các kiểu dữ liệu có phạm vi lớn hơn sẽ tiêu tốn nhiều tài nguyên máy tính hơn. Do đó, việc chọn kiểu dữ liệu phù hợp với giá trị cần xử lý là rất quan trọng.

Tiếp theo, chúng ta sẽ đi vào chi tiết hơn về từng loại dữ liệu.

Kiểu dữ liệu số nguyên

Có 4 loại dữ liệu được chuẩn bị để lưu trữ giá trị số nguyên, phù hợp với kích thước của số được lưu trữ.

Kiểu dữ liệuPhạm vi giá trị
byte-128 ~ 127
short-32,768 ~ 32,767
int-2,147,483,648 ~ 2,147,483,647
long-9,223,372,036,854,775,808 ~ 9,223,372,036,854,775,807

※ Cũng có thể coi kiểu char là kiểu dữ liệu số nguyên. Chi tiết về kiểu char sẽ được giải thích sau.

Cả kiểu byte và short có phạm vi giá trị khá hẹp, và thậm chí khi xử lý các số nhỏ, việc sử dụng kiểu int sẽ nhanh hơn. Thường thì khi cần xử lý các giá trị lớn hơn phạm vi của kiểu int, ta sẽ sử dụng kiểu long.

Như đã giải thích trong bài Đặt hậu tố cho số nguyên, nếu bạn gán giá trị số nguyên mà không có hậu tố, chẳng hạn như 78 hoặc 156, thì nó sẽ được coi là giá trị kiểu int. Do đó, khi gán giá trị cho biến kiểu int, bạn có thể gán trực tiếp.

Copy
int num;num = 156;

Khi gán giá trị số nguyên cho biến kiểu long, nếu giá trị nằm trong phạm vi của kiểu int, bạn có thể gán trực tiếp (chuyển đổi kiểu tự động).

Copy
long num;num = 156;

Nếu bạn muốn gán giá trị số nguyên vượt quá phạm vi của kiểu int, bạn cần thêm hậu tố “L” hoặc “l” ở cuối giá trị để nó được coi là kiểu long. Khi gán giá trị số nguyên vượt quá phạm vi của kiểu int cho biến kiểu long, hãy nhớ thêm hậu tố “L”.

Copy
long num;num = 39433204432234523L;

Khi gán giá trị số nguyên cho biến kiểu byte hoặc short, nếu giá trị nằm trong phạm vi của từng kiểu dữ liệu, bạn có thể gán trực tiếp.

Copy
byte num;num = 10;

※ Bạn chỉ có thể gán trực tiếp giá trị số nguyên cho kiểu byte hoặc short khi gán giá trị số nguyên, không cần sử dụng toán tử cast. Để biết thêm chi tiết, vui lòng tham khảo bài Ép kiểu dữ liệu trong Java

Kiểu dữ liệu số thực

Có 2 loại dữ liệu được chuẩn bị để lưu trữ giá trị số thực, phù hợp với kích thước của số được lưu trữ.

Kiểu dữ liệuMô tảPhạm vi giá trị
floatSố thực dấu đơn 32 bitGiá trị âm nằm trong khoảng -3.4028235E+38 ~ -1.401298E-45Giá trị dương nằm trong khoảng 1.401298E-45 ~ 3.4028235E+38
doubleSố thực dấu kép 64 bitGiá trị âm nằm trong khoảng -1.79769313486231570E+308 ~ -4.94065645841246544E-324Giá trị dương nằm trong khoảng 4.94065645841246544E-324 ~ 1.79769313486231570E+308

Như đã giải thích trong bài Đặt hậu tố cho số nguyên, nếu bạn gán giá trị số thực mà không có hậu tố, chẳng hạn như 3.2 hoặc 5.23e3, thì nó sẽ được coi là giá trị kiểu double. Do đó, khi gán giá trị cho biến kiểu double, bạn có thể gán trực tiếp.

Copy
double num;num = 7.8;

Khi gán giá trị số thực cho biến kiểu float, nếu giá trị nằm trong phạm vi của kiểu dữ liệu, bạn không thể gán trực tiếp. Vì vậy, khi gán giá trị số thực cho biến kiểu float, bạn cần thêm hậu tố “F” ở cuối giá trị để nó được coi là kiểu float.

Copy
float num;num = 7.8F;

Kiểu dữ liệu ký tự

Có một loại dữ liệu được chuẩn bị để lưu trữ một ký tự, đó là kiểu char.

char Ký tự Unicode 16 bit \u0000~\uFFFF

Kiểu dữ liệu này có thể lưu trữ các ký tự được định nghĩa trong bảng Unicode. Khi gán giá trị ký tự cho biến kiểu char, bạn có thể sử dụng dấu nháy đơn để bao quanh giá trị ký tự hoặc sử dụng mã ký tự để gán giá trị bằng cách sử dụng “\uxxxx”. (Xin vui lòng tham khảo “Ký tự và mã ký tự” để biết thêm chi tiết).

Copy
char c;c = 'a';c = '\uxxxx';

Mặc dù kiểu dữ liệu char được sử dụng để lưu trữ một ký tự, thực tế nó lưu trữ một số nguyên, đó chính là mã ký tự. Do đó, kiểu dữ liệu char có thể lưu trữ giá trị từ 0 đến 65535. Tuy nhiên, vì mục đích của kiểu dữ liệu char là lưu trữ ký tự, bạn không nên sử dụng nó để lưu trữ số nguyên.

Kiểu dữ liệu logic

Có một loại dữ liệu được chuẩn bị để lưu trữ giá trị logic true hoặc false, đó là kiểu boolean.

boolean true hoặc false

Kiểu dữ liệu này được sử dụng để lưu trữ giá trị logic true hoặc false, phục vụ cho các phép toán logic.

Kiểu dữ liệu cơ bản và kiểu dữ liệu tham chiếu

Ngoài các kiểu dữ liệu cơ bản đã giải thích ở trên, trong Java còn có các kiểu dữ liệu tham chiếu. Các kiểu dữ liệu tham chiếu bao gồm các mảng, lớp và kiểu String để xử lý các dữ liệu không phải là kiểu cơ bản.

Trong biến kiểu dữ liệu cơ bản, giá trị thực sự được lưu trữ trong biến, trong khi trong biến kiểu dữ liệu tham chiếu, địa chỉ của mảng hoặc của một thực thể lớp được lưu trữ.

kiểu dữ liệu tham chiếu Java

Chúng ta sẽ giải thích chi tiết về các kiểu dữ liệu tham chiếu trong các trang về mảng và lớp trong Java.

Mã mẫu

Dưới đây là một ví dụ đơn giản, chúng ta sẽ tạo một chương trình mẫu để thử nghiệm. Hãy viết mã như sau trong trình soạn thảo văn bản và lưu với tên JSample4-1.java.

Copy
class JSample4_1{ public static void main(String[] args){ int n = 100; long l = 12345678910L; double d = 3.14; float f = 3.14F; char c = '花'; boolean b = true; System.out.println("n=" + n); System.out.println("l=" + l); System.out.println("d=" + d); System.out.println("f=" + f); System.out.println("c=" + c); System.out.println("b=" + b); }}

Sau đó, hãy biên dịch:

Copy
javac -encoding UTF-8 JSample4_1.java

Và sau đó, chạy:

Copy
java JSample4_1

Kiểu Dữ Liệu Cơ Bản

Chúng ta đã khai báo đồng thời 6 biến với các kiểu dữ liệu khác nhau và gán giá trị cho chúng, sau đó hiển thị giá trị đã lưu trữ trong mỗi biến.

Tổng kết

Trên đây Kiyoshi đã hướng dẫn bạn về các kiểu dữ liệu trong Java rồi. Để nắm rõ nội dung bài học hơn, bạn hãy thực hành viết lại các ví dụ của ngày hôm nay nhé.

Và hãy cùng tìm hiểu những kiến thức sâu hơn về Java trong các bài học tiếp theo.

URL Link

https://laptrinhcanban.com/java/java-co-ban-cho-nguoi-moi-bat-dau/bien-va-kieu-du-lieu-trong-java/cac-kieu-du-lieu-trong-java/

Từ khóa » Các Kiểu Dữ Liệu Trong Java