Chào các bạn đã đến với chủ đề tiếp theo của mình. Hôm nay, mình sẽ tiếp tục giới thiệu về các kiểu dữ liệu trong Java. Ở bài này, mình sẽ đi qua những nội dung như sau:
Nội dung
1. Kiểu dữ liệu là gì? Lý do phải có kiểu dữ liệu
Kiểu dữ liệu là là tập hợp các nhóm dữ liệu có chung đặc tính, cách lưu trữ và thao tác xử lý. Nhờ có kiểu dữ liệu mà compiler có thể nhận biết được kích thước của một biến và khả năng lưu trữ của nó.
Lý do phải có kiểu dữ liệu: Biến cần có bộ nhớ dành riêng để lưu trữ giá trị. Dựa vào kiểu dữ liệu của biến, hệ điều hành sẽ cấp bộ nhớ để lưu trữ.
2. Phân loại các kiểu dữ liệu
Java có 2 loại kiểu dữ liệu:
- Các kiểu dữ liệu nguyên thủy (Primitive Data Types)
- Các kiểu dữ liệu tham chiếu (Reference Types)
2.1. Primitive Data Types
Có đến 8 kiểu dữ liệu primitive trong Java:
1. Kiểu Boolean
- Kiểu Boolean chỉ sử dụng lưu trữ cho 2 giá trị: true và false. Mục đích kiểu Boolean thường được cho những câu điều kiện rẽ nhánh.
- Ví dụ:
Boolean isDone = false
2. Kiểu byte
- Kiểu dữ liệu Byte dùng để lưu trữ kiểu số nguyên có kích cỡ bằng 1 byte (8 bit). Giá trị có thể lưu được nằm trong khoảng từ -128 ( -2^7) đến 127 (2^7-1).
- Ví dụ:
byte a = 100
3. Kiểu Short
- Kiểu dữ liệu Short dùng để lưu trữ kiểu số nguyên có kích cỡ bằng 2 byte (16 bit). Giá trị có thể lưu được nằm trong khoảng từ -32,768 (-2^15) đến 32,767 (2^15-1).
- Ví dụ:
short a = 10000
4. Kiểu Int
- Kiểu dữ liệu Int dùng để lưu trữ kiểu số nguyên có kích cỡ bằng 4 byte (32 bit). Giá trị có thể lưu được nằm trong khoảng từ -2,147,483,648 (-2^31) đến 2,147,483,647 (2^31-1)
- Ví dụ:
int a = 20000000
5. Kiểu Long
- Kiểu dữ liệu Long dùng để lưu trữ kiểu số nguyên có kích cỡ bằng 8 byte. Giá trị có thể lưu lưu được nằm trong khoảng từ -9,223,372,036,854,775,808 (-2^63) đến 9,223,372,036,854,775,807 (2^63-1). Giá trị gán cần có kí tự ‘l’ phía sau.
- Ví dụ:
long a = 1001000l
6. Kiểu Float
- Kiểu dữ liệu Float dùng để lưu trữ số thực có kích cỡ bằng 4 byte (32 bit). Giá trị có thể lưu được nằm trong khoảng từ -3.4028235 x 10^38 đến -3.4028235 x 10^38. Giá trị gán cần có kí tự ‘f’ phía sau.
- Ví dụ:
float a = 2.51
7. Kiểu Double
- Kiểu dữ liệu Double dùng để lưu trữ số thực có kích cỡ bằng 8 byte (64 bit). Giá trị có thể lưu nằm trong khoảng từ -1.7976931348623157 x 10^308 đến -1.7976931348623157 x 10^308. Giá trị gán có thể có hoặc không kí tự ‘d’ phía sau.
- Ví dụ:
double a = 2.52
8. Kiểu Char
- Kiểu dữ liệu Char dùng để lưu trữ kí tự (chỉ lưu 1 ký tự)
- Ví dụ:
char alphabet = 's';
2.2. Phân biệt ký tự và chuỗi
- Ở những bài trước, chúng ta đã sử dụng dữ liệu văn bản như
"Hello World"
trong chương trình. Dữ liệu này là chuỗi ký tự, không phải ký tự. - Trong Java, chúng ta sử dụng dấu nháy đơn để biểu thị ký tự và dấu ngoặc kép để biểu thị chuỗi. Do đó:
"s"
,"9"
,"text"
là các chuỗi ký tự (được biểu thị bằng dấu nháy kép)'s'
,'9'
,'+'
là các ký tự riêng lẻ (được biểu thị bằng dấu nháy đơn)
2.3. Reference Types
Các biến tham chiếu được tạo bởi sử dụng các constructor đã được định nghĩa của các lớp. Chúng được sử dụng để truy cập các đối tượng. Những biến này được khai báo ở kiểu cụ thể mà không thể thay đổi. Ví dụ: Employee, Puppy, …
Giá trị mặc định của bất kỳ biến đối tượng nào là null.
Một biến đối tượng có thể được sử dụng để tham chiếu tới bất kỳ đối tượng nào trong kiểu được khai báo hoặc bất kỳ kiểu tương thích nào.
Ví dụ:
Animal animal = new Animal("dog");
Trong java có 3 kiểu dữ liệu đối tượng:
Kiểu dữ liệu | Mô tả |
---|---|
Array | Một mảng của các dữ liệu cùng kiểu. |
class | Dữ liệu kiểu lớp đối tượng do người dùng định nghĩa. Chứa tập các thuộc tính và phương thức.. |
interface | Dữ liệu kiểu lớp giao tiếp do người dùng định nghĩa. Chứa các phương thức của giao tiếp. |
Thêm một ví dụ nhỏ để các bạn hiểu thêm về kiểu dữ liệu Objects nhé:
Chúng ta có đối tượng Sinh viên như sau:
public class Student{
private String name;
public Student(String name){
this.name = name;
}
public String getName(){
return name;
}
public void setName(String name){
this.name = name;
}
}
Và chúng ta thử tính tham chiếu với nó nhé:
public class KieuDuLieu {
public static void main(String[] args) {
Student sv1 = new Student("Nguyen Van A");
Student sv2 = new Student("Nguyen Van B");
System.out.println("Student 1: " + sv1.getName());
System.out.println("Student 2: " + sv2.getName());
}
}
Cuối cùng thử in tên của 2 thằng sv1 và sv2:
System.out.println("Student 1: " + sv1.getName());
System.out.println("Student 2: " + sv2.getName());
Khi compile chúng là sẽ thu được kết quả là:
Student 1: Nguyen Van A
Student 2: Nguyen Van B
3. Kết
Thật ra ở đây mình giới thiệu đầy đủ các kiểu dữ liệu cho các bạn để sau này các bạn có làm việc chung với dev, nhỡ khi dev có đề cập đến thì ít nhiều mình cũng biết họ đang nói gì. Quay lại với khía cạnh automation, trong Automation, mình thường sẽ sử dụng 1 số kiểu dữ liệu sau: boolean, int, long, float, double, String, List và Hashmap. Với kiểu dữ liệu String, List và Hashmap, mình sẽ có những topic khác giới thiệu chi tiết về nó.
Cảm ơn các bạn đã theo dõi bài viết của mình. Chúc các bạn thành công. Hẹn gặp lại các bạn ở những chủ đề tiếp theo. Bái bai.