Kiểu dữ liệu trong Java với ví dụ cụ thể

Khái niệm

Kiểu dữ liệu là cách để phân loại các loại dữ liệu dữ. Ví dụ chúng ta có kiểu số nguyên int, số thực double và ký tự char.

Trong java có 2 kiểu dữ liệu chính:

  • Primitive
  • Non-primitive

Kiểu dữ liệu Primitive

Trong Java có 8 dữ liệu nguyên thuỷ bao gồm  

  • byte: kiểu dữ liệu byte có kích thước 8-bit. Khoảng giá trị [-128, 127], nó sẽ hữu ích khi bạn cần lưu một mảng có kích thước lớn, mà các giá trị trong mảng có khoảng giá trị nằm trong [-128, 127].
  • short: kiểu dữ liệu short có kích thước 16-bit. Khoảng giá trị [-32768, 32767], Như kiểu byte, nó cũng sẽ hữu ích khi bạn cần lưu mảng có kích thước lớn, mà các giá trị trong mảng nằm trong khoảng [-32768, 32767].
  • int: kiểu dữ kiệu int có kích thước 32-bit. Khoảng giá trị trong [-231, 231-1]. Từ java 8 trở về sau, bạn có thể sử dụng unsigned int để biểu diễn các số nguyên khoảng [0,232-1].
  • long: kiểu dữ kiệu long có kích thước 64-bit. Khoảng giá trị trong [-263, 263-1]. Từ java 8 trở về sau, bạn có thể sử dụng unsigned int để biểu diễn các số nguyên khoảng [0, 263-1].
  • float: float là kiểu dữ liệu single-precision 32-bit. Khoảng giá trị [-3.4028235 x 1038 , 3.4028235 x 1038]
  • double: double là kiểu dữ liệu double-precision 64-bit. Khoảng giá trị [-1.7976931348623157  x 10308 ,1.7976931348623157  x 10308]
  • boolean: boolean là kiểu dữ liệu có kích thước 1-bit, có 2 giá trị: true hoặc false.
  • char: char kiểu dữ liệu single 16-bit Unicode character, có khoảng giá trị [\u0000, \uffff].

Ví dụ: Khai báo các biến với từng kiểu giá trị của xuất ra màn hình console.

Output: 

Gia tri cua byte: 10
Gia tri cua short: 1000
Gia tri cua int: 13
Gia tri cua long: 2000
Gia tri cua float:12.5
Gia tri cua double: 12.4345
Gia tri cua boolean: true
Gia tri cua char: r

Giá trị mặc định

byte 0
short 0
int 0
long 0L
float o.of
double o.od
char ‘\u0000’
boolean false

Ví dụ: Khi khai báo một mảng với các dữ liệu trên, nếu chưa gán giá trị cho các phần tử của mảng mặc định các phần tử sẽ có giá trị mặc định của kiểu dữ liệu tương ứng.

Output: 
0 0 0 0 0 0 0 0 0 0
false false false false false false false false false false

Kiểu dữ liệu Non-Primitive

Các kiểu dữ liệu Non-Primitive: 

  • Class: là một bản vẽ thiết kế hoặc prototype để tạo ra các object gồm các thuộc tính, method etc. Một class bao gồm các thành phần chính sau:
    • Modifiers: Quy định phạm vi truy cập của class. 
    • Name: Tên class.
    • Supper class: Class cha mà nó kế thừa.
    • Interface: Interface mà class implement, bắt buộc triển khai các abstract method được định nghĩa bên trong interface.
    • Body: Thân class bao gồm các biến, method etc.
  • Object: được tạo ra từ một class nó là một thực thể thực ánh xạ cho một bản thiết kế của của chúng. Ví dụ người việt nam thì có đứa cao, đứa lùn, da trắng, da đỏ etc mỗi người việt nam là một object và chúng được tạo ra từ class người việt nam =))). Các thành phần chính trong object:
    • State: Trạng thái của object ví dụ như lùn, cao, ốm, da vàng etc.
    • Behavior: Các hành động của object có thể làm được, ví dụ object person sẽ có behavior như đi, đứng, nằm, hát etc.
    • Indentify: Định danh riêng để phân biệt các object cùng loại khác. 
  • String: String là một chuỗi ký tự char dùng để lưu đoạn văn bản trong java.
  • Array: Một nhóm các giá trị có cùng kiểu dữ liệu. Các lưu ý trong array
    • Tất cả các array trong java đều được cấp phát vùng nhớ cách tự động.
    • Thứ tự các phần tử trong array bắt đầu từ 0 đến size – 1.
    • Kích thước của array phải được chỉ định tại thời điểm khởi tạo array với giá trị số int, không được sử dụng long hoặc short etc.
    •  
  • Interface: Giống như class chúng là một bản thiết kế cho các đối tượng ở mức chức năng. Các object không đựợc tạo ra từng interface mà tạo ra từ các class implement chúng. Các object này sẽ có các method mà interface định nghĩa.

Trong khuôn khổ loại bài java căn bản chúng ta chỉ dừng lại ở mức biết thôi nhé. Chúng ta sẽ đi sâu hơn phần này vào các loạt bài sau.

Leave a Reply

Your email address will not be published. Required fields are marked *