[Bài 2] Các kiểu dữ liệu trong java

Bài viết đã được cập nhật vào: 05/02/2021

Kiểu dữ liệu trong Java là gì?

Các ứng dụng luôn xử lý dữ liệu ở đầu vào và xuất dữ liệu kết quả ở đầu ra. Đầu vào, đầu ra và kết quả của các quá trình tính toán đều liên quan đến dữ liệu. Trong môi trường tính toán, dữ liệu được phân lớp theo các tiêu chí khác nhau phụ thuộc vào bản chất của nó. Ở mỗi tiêu chí, dữ liệu có một tính chất xác định và có một kiểu thể hiện riêng biệt.

Java cung cấp một vài kiểu dữ liệu, chúng được hỗ trợ trên tất cả các nền. Ví dụ, dữ liệu loại int (integer) của Java được thể hiện bằng 4 bytes trong bộ nhớ của tất cả các loại máy bất luận ở đâu chạy chương trình Java. Bởi vậy các chương trình Java không cần phải thay đổi khi chạy trên các nền khác nhau.

Các kiểu dữ liệu trong Java

Primitive vs Reference Type Java - [Bài 2] Các kiểu dữ liệu trong java

Trong Java kiểu dữ liệu được chia thành hai loại:

Các kiểu dữ liệu nguyên thủy (primitive)

Các kiểu dữ liệu tham chiếu (reference)

  1. Các kiểu dữ liệu nguyên thủy (primitive)

cac kieu du lieu trong java - [Bài 2] Các kiểu dữ liệu trong java

byte:

Dùng để lưu dữ liệu kiểu số nguyên có kích thước một byte (8 bit)

Giá trị nhỏ nhất là -128 (-2^7)

Giá trị lớn nhất là 127. (2^7 -1)

Giá trị mặc định là 0

Kiểu dữ liệu byte được sử dụng để lưu giữ khoảng trống trong các mảng lớn, chủ yếu là các số nguyên.

Ví dụ:

byte

a

=

100

;

byte

b

=

-

50

;

byte a = 100;
byte b = -50;

short:

Dùng để lưu dữ liệu có kiểu số nguyên, kích cỡ 2 byte (16 bit).

Giá trị nhỏ nhất là -32,768 (-2^15)

Giá trị lớn nhất là 32,767. (2^15 -1)

Kiểu dữ liệu short cũng có thể được sử dụng để lưu bộ nhớ như kiểu dữ liệu byte.

Giá trị mặc định là 0.

Ví dụ:

short

s

=

10000

;

short

r

=

-

20000

;

short s = 10000;
short r = -20000;

int:

Dùng để lưu dữ liệu có kiểu số nguyên, kích cỡ 4 byte (32 bit).

Giá trị nhỏ nhất là – 2,147,483,648.(-2^31)

Giá trị lớn nhất là 2,147,483,647. (2^31 -1)

Nói chung, int được sử dụng như là kiểu dữ liệu mặc định cho các giá trị nguyên.

Giá trị mặc định là 0.

Ví dụ:

int

a

=

100000

;

int

b

=

-

200000

;

int a = 100000;
int b = -200000;

long:

Dùng để lưu dữ liệu có kiểu số nguyên có kích thước lên đến 8 byte.

Giá trị nhỏ nhất là -9,223,372,036,854,775,808.(-2^63)

Giá trị lớn nhất là 9,223,372,036,854,775,807. (2^63 -1)

Kiểu này được sử dụng khi cần một dải giá trị rộng hơn int.

Giá trị mặc định là 0L.

Ví dụ:

long

a

=

100000L

;

int

b

=

-

200000L

;

long a = 100000L;
int b = -200000L;

float:

Dùng để lưu dữ liệu có kiểu số thực, kích cỡ 4 byte (32 bit)

Kiểu Float được sử dụng chủ yếu để lưu bộ nhớ trong các mảng rộng hơn các số dấu chấm động.

Giá trị mặc định là 0.0f.

Kiểu Float không bao giờ được sử dụng cho các giá trị chính xác như currency.

Ví dụ:

float

f1

=

234.5f

;

float f1 = 234.5f;

double:

Kiểu dữ liệu double được sử dụng để lưu dữ liệu có kiểu số thực có kích thước lên đến 8 byte.

Nói chung, kiểu dữ liệu này được sử dụng như là kiểu mặc định cho các giá trị decimal.

Kiểu double không bao giờ được sử dụng cho các giá trị chính xác như currency.

Giá trị mặc định là 0.0d.

Ví dụ:

double

d1

=

123.4

;

double d1 = 123.4;

boolean:

Độ lớn chỉ có 1 bit

Dùng để lưu dữ liệu chỉ có hai trạng thái true hoặc false

Giá trị mặc định là false.

Ví dụ:

boolean

one

=

true

;

boolean one = true;

char:

Dùng để lưu dữ liệu kiểu kí tự hoặc số nguyên không âm có kích thước 2 byte (16 bit)

Giá trị nhỏ nhất là ‘\u0000’ (hoặc 0).

Giá trị lớn nhất là ‘\uffff’ (hoặc 65,535).

Kiểu char được sử dụng để lưu bất kỳ ký tự nào

Ví dụ:

char

letterA

=

'A'

;

char letterA =’A’;

 

  1. Các kiểu dữ liệu tham chiếu hay còn gọi là kiểu dữ liệu đối tượng (Objects)  (reference)

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"

)

;

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

SinhVien

(

String

name

)

{

this

.

name

=

name

;

}

public

String

getName

(

)

{

return

name

;

}

public

void

setName

(

String

name

)

{

this

.

name

=

name

;

}

}

public class Student{
private String name;
public SinhVien(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é

Student sv1 

=

new

Student

(

"Nguyen Van A"

)

;

Student sv2

=

sv1

;

Student sv1 = new Student(“Nguyen Van A”);
Student sv2 = sv1;

Sau đó thử thay đổi giá trị của sv2 nào

sv2.

setName

(

"Nguyen Van B"

)

;

sv2.setName(“Nguyen Van B”);

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

(

)

)

;

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 B Student

2

:

Nguyen Van B

Student 1: Nguyen Van B
Student 2: Nguyen Van B

Sự khác nhau giữa kiểu dữ liệu nguyên thủy và kiểu dữ liệu đối tượng:

Điểm khác biệt giữa 2 kiểu dữ liệu đối tượng và nguyên thủy đó là 1 thằng có tính tham chiếu và 1 thằng có tính tham trị và khi sử dụng chúng nó sẽ khác nhau về việc cấp phát địa chỉ ô nhớ và các refernces vào địa chỉ ô nhớ đó.

 

[Bài 2] Các kiểu dữ liệu trong java

[Bài 2] Các kiểu dữ liệu trong java

Bài viết có tham khảo từ một số nguồn trên Internet – Kynangso.net

Đánh giá bài viết post