Java là một trong những ngôn ngữ lập trình hướng đối tượng. Nó được sử dụng trong phát triển phần mềm, trang web, game hay ứng dụng trên các thiết bị di động. Hãy cùng Bumbii tìm hiểu các kiểu dữ liệu trong Java – Java Data Type.
Tổng quan về các kiểu dữ liệu trong Java – Java data type
Java có hai loại kiểu dữ liệu:
- Các kiểu dữ liệu nguyên thủy (Primitive Data Types) : byte, short, int, long, float, double, boolean và char
- Các kiểu dữ liệu không nguyên thủy (Non-Primitive Data Types / Reference Types): String, Arrays và Classes
Các kiểu dữ liệu nguyên thủy (Primitive Data Types)
Kiểu dữ liệu | Kích cỡ | Mô tả |
Byte | 8 bit | Lưu trữ các số nguyên từ -128 đến 127 |
Short | 16 bit | Lưu trữ các số nguyên từ -32,768 đến 32,767 |
Int | 32 bit | Lưu trữ các số nguyên từ -2.147.483.648 đến 2.147.483.647 |
Long | 64 bit | Lưu trữ các số nguyên từ -9.223.372.036.854.775.808 đến 9.223.372.036.854.775.807 |
Float | 32 bit | Lưu trữ các số phân số. Đủ để lưu trữ 6 đến 7 chữ số thập phân |
Double | 64 bit | Lưu trữ các số phân số. Đủ để lưu trữ 15 chữ số thập phân |
Boolean | 1 bit | Lưu trữ giá trị true hoặc false |
Char | 16 bit | Lưu trữ ký tự / chữ cái hoặc giá trị ASCII |
Java Numbers
Các loại số nguyên thủy (Primitive number types) được chia làm 2 nhóm:
- Các kiểu số nguyên (Integer types): Loại số nguyên lưu trữ số nguyên, dương hoặc âm (chẳng hạn như 123 hoặc -456), không có số thập phân. Các loại hợp lệ là: byte, short, int và long. Bạn nên sử dụng loại nào, tùy thuộc vào giá trị số.
- Các loại dấu phẩy động (Floating point types): Các kiểu dấu phẩy động đại diện cho các số có phần phân số, chứa một hoặc nhiều số thập phân. Có hai loại: float và double.
Mặc dù có nhiều kiểu số trong Java, kiểu được sử dụng nhiều nhất cho số là int (cho số nguyên) và double (cho số dấu phẩy động).
Integer Types – Các kiểu số nguyên
Byte: Kiểu dữ liệu byte là số nguyên bổ sung hai chữ ký 8 bit. Nó có giá trị tối thiểu là -128 và giá trị tối đa là 127. Kiểu dữ liệu byte có thể hữu ích để tiết kiệm bộ nhớ trong các mảng lớn, nơi mà việc tiết kiệm bộ nhớ thực sự quan trọng. Có thể sử dụng kiểu này thay cho int hoặc các kiểu số nguyên khác để tiết kiệm bộ nhớ khi bạn chắc chắn rằng giá trị sẽ nằm trong khoảng -128 và 127.
byte myNum = 100;
System.out.println(myNum);
Short: Kiểu dữ liệu short là số nguyên bù hai có dấu 16 bit. Nó có giá trị tối thiểu là -32,768 và giá trị tối đa là 32,767. Đối với byte, các hướng dẫn tương tự cũng được áp dụng: bạn có thể sử dụng một đoạn ngắn để tiết kiệm bộ nhớ trong các mảng lớn, trong các tình huống mà việc tiết kiệm bộ nhớ thực sự quan trọng.
short myNum = 5000;
System.out.println(myNum);
Int: Theo mặc định, kiểu dữ liệu int là số nguyên bổ sung hai chữ ký 32 bit, có giá trị nhỏ nhất là -231 và giá trị lớn nhất là 231-1. Trong Java SE 8 trở lên, bạn có thể sử dụng kiểu dữ liệu int để biểu thị một số nguyên 32 bit không dấu, có giá trị nhỏ nhất là 0 và giá trị lớn nhất là 232-1. Sử dụng lớp Integer để sử dụng kiểu dữ liệu int là số nguyên không dấu.
int myNum = 100000;
System.out.println(myNum);
Long: Kiểu dữ liệu long là số nguyên bù hai 64 bit. Long có giá trị khoảng từ -9,223,372,036,854,775,808 (-263) đến 9,223,372,036,854,775,807 (263-1). Trong Java SE 8 trở lên, bạn có thể sử dụng loại dữ liệu dài để biểu thị độ dài 64 bit không dấu, có giá trị tối thiểu là 0 và giá trị tối đa là 264-1 . Sử dụng kiểu dữ liệu này khi bạn cần một phạm vi giá trị rộng hơn phạm vi giá trị được cung cấp bởi int.
long myNum = 15000000000L;
System.out.println(myNum);
Floating Point Types – Các loại dấu phẩy động
- Bạn nên sử dụng loại dấu phẩy động bất cứ khi nào bạn cần một số có phần thập phân, chẳng hạn như 9,99 hoặc 3,14515.
- Các kiểu dữ liệu float và double có thể lưu trữ các số phân số.
- Lưu ý rằng bạn nên kết thúc giá trị bằng “f” cho số float và “d” cho số double.
Float: Kiểu dữ liệu float là một dấu phẩy động IEEE 754 32 bit có độ chính xác đơn.
float myNum = 5.75f;
System.out.println(myNum);
Double: Kiểu dữ liệu double là một dấu phẩy động IEEE 754 64 bit có độ chính xác kép.
double myNum = 19.99d;
System.out.println(myNum);
Sử dụng float hay double?
Độ chính xác của một giá trị dấu chấm động cho biết giá trị đó có thể có bao nhiêu chữ số sau dấu thập phân. Độ chính xác của float chỉ là sáu hoặc bảy chữ số thập phân, trong khi double có độ chính xác khoảng 15 chữ số. Do đó, sẽ an toàn hơn khi sử dụng gấp đôi cho hầu hết các phép tính.
Java Boolean
Boolean: Kiểu boolean trong Java nhận các giá trị TRUE / FALSE (0/1)
boolean isJavaFun = true;
boolean isFishTasty = false;
System.out.println(isJavaFun); //Outputs true
System.out.println(isFishTasty); //Outputs false
Java Characters
Char: Kiểu dữ liệu char là một ký tự Unicode 16 bit, được sử dụng để lưu trữ một ký tự. Ký tự phải được bao quanh bởi dấu nháy đơn, như ‘A’ hoặc ‘a’:
char myGrade = 'B';
System.out.println(myGrade);
Ngoài ra, nếu bạn đã quen với các giá trị ASCII, bạn có thể sử dụng các giá trị đó để hiển thị các ký tự nhất định:
char myVar1 = 65, myVar2 = 66, myVar3 = 67;
System.out.println(myVar1);
System.out.println(myVar2);
System.out.println(myVar3);
Các kiểu dữ liệu không nguyên thủy (Non-Primitive Data Types)
Kiểu dữ liệu | Mô tả |
String (Chuỗi) | Sử dụng để lưu trữ một dãy ký tự, các giá trị chuỗi phải được bao quanh bởi dấu ngoặc kép |
Array (Mảng) | Tập hợp các dữ liệu cùng kiểu |
Class (Lớp) | Là sự cài đặt mô tả về một đối tượng trong bài toán |
Interface (Giao diện) | Là một lớp thuần trừu tượng được tạo ra cho phép cài đặt đa thừa kế trong Java |
Non-Primitive Data Types
Các kiểu dữ liệu không nguyên thủy (Non-Primitive Data Types) được gọi là các kiểu tham chiếu (reference types) vì chúng tham chiếu đến các đối tượng.
Sự khác biệt chính giữa các kiểu dữ liệu nguyên thủy (primitive) và không nguyên thủy (non-primitive):
Primitive Data Types | Non-Primitive Data Types |
Được xác định trước (đã được xác định) trong Java. | Được tạo bởi lập trình viên và không được xác định bởi Java (ngoại trừ String). |
Không thể sử dụng để gọi các phương thức thực hiện các thao tác nhất định. | Có thể được sử dụng để gọi các phương thức thực hiện các thao tác nhất định. |
Một loại nguyên thủy luôn có một giá trị. | Các loại không nguyên thủy có thể là NULL. |
Bắt đầu bằng một chữ cái viết thường. | Bắt đầu bằng một chữ cái viết hoa. |
Kích thước của một loại nguyên thủy phụ thuộc vào loại dữ liệu. | Các loại không nguyên thủy có cùng kích thước. |
Thông tin liên hệ & mạng xã hội:
Website: https://bumbii.com/
Facebook: https://www.facebook.com/bumbiiapp
Pinterest: https://www.pinterest.com/bumbiitech