Các kiểu dữ liệu ban đầu (Hướng dẫn Java ™> Học ngôn ngữ Java> Khái niệm cơ bản về ngôn ngữ) – kiểu dữ liệu nguyên thủy là gì

Hướng dẫn Java cho người mới bắt đầu này mô tả các nguyên tắc cơ bản về lập trình bằng ngôn ngữ lập trình Java

Bạn đang xem: kiểu dữ liệu nguyên thủy là gì

Đường mòn: Học ngôn ngữ Java

Bài học: Khái niệm cơ bản về ngôn ngữ

Phần: Các biến

Các Hướng dẫn Java được viết cho JDK 8. Các ví dụ và thực hành được mô tả trong trang này không tận dụng được các cải tiến được giới thiệu trong các bản phát hành sau và có thể sử dụng công nghệ không còn nữa. Xem Thay đổi ngôn ngữ Java để biết tóm tắt về các tính năng ngôn ngữ được cập nhật trong Java SE 9 và các bản phát hành tiếp theo. Xem Ghi chú phát hành JDK để biết thông tin về các tính năng mới, cải tiến và các tùy chọn bị loại bỏ hoặc không dùng nữa cho tất cả các bản phát hành JDK.

Loại dữ liệu ban đầu

Ngôn ngữ lập trình Java được định kiểu tĩnh, có nghĩa là tất cả các biến trước tiên phải được khai báo trước khi chúng có thể được sử dụng. Điều này liên quan đến việc nêu rõ loại và tên của biến, như bạn đã thấy:

int gear = 1;

Làm như vậy cho chương trình của bạn biết rằng trường có tên “bánh răng” tồn tại, chứa dữ liệu số và có giá trị ban đầu là “1”. Kiểu dữ liệu của một biến xác định các giá trị mà nó có thể chứa, cộng với các thao tác có thể được thực hiện trên nó. Ngoài int , ngôn ngữ lập trình Java hỗ trợ bảy ngôn ngữ khác. Một kiểu nguyên thủy được xác định trước bởi ngôn ngữ và được đặt tên bởi một từ khóa dành riêng. Giá trị nguyên thủy không chia sẻ trạng thái với các giá trị nguyên thủy khác. Tám kiểu dữ liệu nguyên thủy được hỗ trợ bởi ngôn ngữ lập trình Java là:

  • byte : Kiểu dữ liệu byte là số nguyên bổ sung 8 bit có dấu của hai. Nó có giá trị tối thiểu là -128 và giá trị tối đa là 127 (bao gồm cả). Kiểu dữ liệu byte có thể hữu ích để tiết kiệm bộ nhớ lớn
    mảng , trong đó việc tiết kiệm bộ nhớ thực sự quan trọng. Chúng cũng có thể được sử dụng thay cho int nơi các giới hạn của chúng giúp làm rõ mã của bạn; thực tế là phạm vi của một biến bị giới hạn có thể dùng như một dạng tài liệu.

  • short : Kiểu dữ liệu short là số nguyên bổ sung 16 bit có dấu của hai. Nó có giá trị tối thiểu là -32,768 và giá trị tối đa là 32,767 (bao gồm). Đối với byte , các nguyên tắc tương tự cũng được áp dụng: bạn có thể sử dụng short để tiết kiệm bộ nhớ trong các mảng lớn, trong những trường hợp mà việc tiết kiệm bộ nhớ thực sự quan trọng.

  • int : Theo mặc định, kiểu dữ liệu int là số nguyên bổ sung 32-bit có dấu của hai người, 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 để đại diện cho 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 dưới dạng số nguyên không dấu. Xem phần Các lớp số để biết thêm thông tin. Các phương thức tĩnh như CompareUnsigned , splitUnsigned , v.v. đã được thêm vào
    Lớp Integer để hỗ trợ các phép toán số học cho các số nguyên không dấu.

  • long : Kiểu dữ liệu long là một số nguyên bổ sung 64-bit hai. Giá trị dài đã ký có giá trị nhỏ nhất là -263 và giá trị lớn nhất là 263-1. Trong Java SE 8 trở lên, bạn có thể sử dụng kiểu dữ liệu long để thể hiện độ dài 64 bit không dấu, có giá trị nhỏ nhất là 0 và giá trị lớn nhất là 264-1. Sử dụng kiểu dữ liệu này khi bạn cần một dải giá trị rộng hơn những giá trị được cung cấp bởi int . Các
    Lớp Long cũng chứa các phương thức như CompareUnsigned , splitUnsigned , v.v. để hỗ trợ các phép toán số học trong khoảng thời gian dài không dấu.

  • float : Kiểu dữ liệu float là dấu phẩy động 32 bit IEEE 754 độ chính xác đơn. Phạm vi giá trị của nó nằm ngoài phạm vi của cuộc thảo luận này, nhưng được chỉ định trong
    phần Loại dấu phẩy động, định dạng và giá trị của Đặc tả ngôn ngữ Java. Cũng như các đề xuất cho byte short , hãy sử dụng float (thay vì double ) nếu bạn cần lưu bộ nhớ trong mảng lớn các số dấu phẩy động. Loại dữ liệu này không bao giờ được sử dụng cho các giá trị chính xác, chẳng hạn như tiền tệ. Để làm được điều đó, bạn sẽ cần sử dụng
    Thay vào đó, lớp java.math.BigDecimal .
    Numbers và Strings bao gồm BigDecimal và các lớp hữu ích khác được cung cấp bởi nền tảng Java.

  • double : Kiểu dữ liệu double là dấu phẩy động IEEE 754 64 bit chính xác kép. Phạm vi giá trị của nó nằm ngoài phạm vi của cuộc thảo luận này, nhưng được chỉ định trong
    phần Loại dấu phẩy động, định dạng và giá trị của Đặc tả ngôn ngữ Java. Đối với các giá trị thập phân, kiểu dữ liệu này thường là lựa chọn mặc định. Như đã đề cập ở trên, không bao giờ được sử dụng loại dữ liệu này cho các giá trị chính xác, chẳng hạn như đơn vị tiền tệ.

  • boolean : Kiểu dữ liệu boolean chỉ có hai giá trị có thể có: true false . Sử dụng kiểu dữ liệu này cho các cờ đơn giản theo dõi các điều kiện đúng / sai. Loại dữ liệu này đại diện cho một bit thông tin, nhưng “kích thước” của nó không phải là thứ được xác định chính xác.

  • char : Kiểu dữ liệu char là một ký tự Unicode 16 bit. Nó có giá trị tối thiểu là '\ u0000' (hoặc 0) và giá trị tối đa là '\ uffff' (hoặc 65.535 bao gồm).

Xem Thêm  Các hạn chế trong SQL: Hướng dẫn chuyên sâu với các ví dụ - cách thêm ràng buộc trong sql

Ngoài tám kiểu dữ liệu nguyên thủy được liệt kê ở trên, ngôn ngữ lập trình Java cũng cung cấp hỗ trợ đặc biệt cho các chuỗi ký tự thông qua
lớp java.lang.String . Đặt chuỗi ký tự của bạn trong dấu ngoặc kép sẽ tự động tạo một đối tượng String mới; ví dụ: String s = "đây là một chuỗi"; . Các đối tượng String , có nghĩa là sau khi được tạo, giá trị của chúng không thể thay đổi được. Về mặt kỹ thuật, lớp String không phải là một kiểu dữ liệu nguyên thủy, nhưng nếu xét đến sự hỗ trợ đặc biệt của ngôn ngữ, bạn có thể sẽ nghĩ về nó như vậy. Bạn sẽ tìm hiểu thêm về lớp String trong
Đối tượng dữ liệu đơn giản

Giá trị mặc định

Không phải lúc nào cũng cần chỉ định một giá trị khi một trường được khai báo. Các trường được khai báo nhưng không được khởi tạo sẽ được trình biên dịch đặt thành mặc định hợp lý. Nói chung, mặc định này sẽ là 0 hoặc null , tùy thuộc vào kiểu dữ liệu. Tuy nhiên, việc dựa vào các giá trị mặc định như vậy thường được coi là phong cách lập trình tồi.

Biểu đồ sau đây tóm tắt các giá trị mặc định cho các loại dữ liệu trên.

Loại dữ liệu
Giá trị mặc định (cho các trường)

byte

ngắn

int

Dài
0L

trôi nổi
0,0f

kép
0,0 ngày

char
‘\ u0000’

Chuỗi (hoặc bất kỳ đối tượng nào)
vô giá trị

boolean
sai

Các biến cục bộ hơi khác; trình biên dịch không bao giờ gán giá trị mặc định cho một biến cục bộ chưa được khởi tạo. Nếu bạn không thể khởi tạo biến cục bộ của mình ở nơi nó được khai báo, hãy đảm bảo gán cho nó một giá trị trước khi bạn cố gắng sử dụng nó. Việc truy cập vào một biến cục bộ chưa được khởi tạo sẽ dẫn đến lỗi thời gian biên dịch.

Chữ cái

Bạn có thể nhận thấy rằng từ khóa new không được sử dụng khi khởi tạo một biến kiểu nguyên thủy. Kiểu nguyên thủy là kiểu dữ liệu đặc biệt được tích hợp sẵn trong ngôn ngữ; chúng không phải là các đối tượng được tạo ra từ một lớp. Một nghĩa đen là biểu diễn mã nguồn của một giá trị cố định; các chữ được biểu diễn trực tiếp trong mã của bạn mà không cần tính toán. Như được hiển thị bên dưới, có thể gán một ký tự cho một biến thuộc kiểu nguyên thủy:

kết quả boolean = true;
char capitalC = 'C';
byte b = 100;
ngắn s = 10000;
int i = 100000;

Chữ số nguyên

Một ký tự số nguyên có kiểu long nếu nó kết thúc bằng ký tự L hoặc l ; nếu không thì nó thuộc loại int . Bạn nên sử dụng chữ hoa L vì chữ thường l khó phân biệt với chữ số 1 .

Xem Thêm  Cách thay đổi CSS bằng JavaScript [Với các ví dụ] - cách thay đổi thuộc tính css bằng javascript

Giá trị của các loại tích phân byte , short , int long có thể được tạo từ int nghĩa đen. Giá trị của loại long vượt quá phạm vi int có thể được tạo từ các ký tự long . Các ký tự số nguyên có thể được biểu thị bằng các hệ thống số sau:

  • Số thập phân: Cơ số 10, có các chữ số bao gồm các số từ 0 đến 9; đây là hệ thống số bạn sử dụng hàng ngày
  • Hệ thập lục phân: Cơ số 16, có các chữ số bao gồm các số từ 0 đến 9 và các chữ cái từ A đến F
  • Nhị phân: Cơ số 2, có các chữ số bao gồm các số 0 và 1 (bạn có thể tạo các ký tự nhị phân trong Java SE 7 trở lên)

Đối với lập trình mục đích chung, hệ thống thập phân có thể là hệ thống số duy nhất bạn sẽ sử dụng. Tuy nhiên, nếu bạn cần sử dụng hệ thống số khác, ví dụ sau sẽ hiển thị cú pháp chính xác. Tiền tố 0x cho biết hệ thập lục phân và 0b cho biết hệ nhị phân:

// Số 26, ở dạng thập phân
int decVal = 26;
// Số 26, ở hệ thập lục phân
int hexVal = 0x1a;
// Số 26, trong hệ nhị phân
int binVal = 0b11010;

Chữ nổi dấu chấm động

Một ký tự dấu phẩy động thuộc loại float nếu nó kết thúc bằng ký tự F hoặc f ; nếu không thì kiểu của nó là double và có thể tùy chọn kết thúc bằng chữ cái D hoặc d .

Các kiểu dấu phẩy động ( float double ) cũng có thể được biểu thị bằng E hoặc e (đối với ký hiệu khoa học), F hoặc f (ký tự float 32 bit) và D hoặc d (ký tự kép 64 bit; đây là ký tự mặc định và theo quy ước được bỏ qua).

đôi d1 = 123,4;
// cùng giá trị với d1, nhưng ở ký hiệu khoa học
đôi d2 = 1,234e2;
float f1 = 123.4f;

Chữ ký tự và chuỗi ký tự

Chữ viết của các loại char String có thể chứa bất kỳ ký tự Unicode (UTF-16) nào. Nếu trình soạn thảo và hệ thống tệp của bạn cho phép, bạn có thể sử dụng các ký tự như vậy trực tiếp trong mã của mình. Nếu không, bạn có thể sử dụng “Unicode Escape” chẳng hạn như '\ u0108' (viết hoa C với dấu mũ) hoặc "S \ u00ED Se \ u00F1or" (Sí Señor bằng tiếng Tây Ban Nha). Luôn sử dụng ‘dấu nháy đơn’ cho các chữ char và “dấu ngoặc kép” cho các chữ Chuỗi . Chuỗi thoát Unicode có thể được sử dụng ở những nơi khác trong chương trình (chẳng hạn như trong tên trường), không chỉ trong các ký tự char hoặc String .

Ngôn ngữ lập trình Java cũng hỗ trợ một số chuỗi thoát đặc biệt cho char String các chữ: \ b (backspace), \ t (tab), \ n (dòng cấp dữ liệu), \ f (form feed), \ r (ký tự xuống dòng ), \ " (dấu ngoặc kép), \ ' (dấu nháy đơn) và \\ (dấu gạch chéo ngược).

Ngoài ra còn có một ký tự null đặc biệt có thể được sử dụng làm giá trị cho bất kỳ loại tham chiếu nào. null có thể được gán cho bất kỳ biến nào, ngoại trừ các biến thuộc kiểu nguyên thủy. Bạn có thể làm ít điều gì với giá trị null ngoài việc kiểm tra sự hiện diện của nó. Do đó, null thường được sử dụng trong các chương trình như một điểm đánh dấu để chỉ ra rằng một số đối tượng không khả dụng.

Cuối cùng, cũng có một loại ký tự đặc biệt được gọi là ký tự lớp, được hình thành bằng cách lấy tên kiểu và thêm “ .class" ; ví dụ: String.class . Điều này đề cập đến đối tượng (thuộc loại Class ) đại diện cho chính loại đó.

Sử dụng ký tự gạch dưới trong chữ số

Trong Java SE 7 trở lên, bất kỳ số lượng ký tự gạch dưới nào ( _ ) đều có thể xuất hiện ở bất kỳ đâu giữa các chữ số trong một chữ số. Ví dụ, tính năng này cho phép bạn. để phân tách các nhóm chữ số bằng các ký tự số, điều này có thể cải thiện khả năng đọc mã của bạn.

Ví dụ: nếu mã của bạn chứa các số có nhiều chữ số, bạn có thể sử dụng ký tự gạch dưới để phân tách các chữ số trong nhóm ba chữ số, tương tự như cách bạn sử dụng dấu câu như dấu phẩy hoặc dấu cách làm dấu phân cách.

Xem Thêm  Cách căn giữa bảng bằng CSS (Hướng dẫn nhanh) - Căn giữa ô bảng css

Ví dụ sau đây cho thấy những cách khác mà bạn có thể sử dụng dấu gạch dưới trong các ký tự số:

tín dụng dàiCardNumber = 1234_5678_9012_3456L;
long socialSecurityNumber = 999_99_9999L;
float pi = 3,14_15F;
dài hexBytes = 0xFF_EC_DE_5E;
long hexWords = 0xCAFE_BABE;
long maxLong = 0x7fff_ffff_ffff_ffffL;
byte nybbles = 0b0010_0101;
byte dài = 0b11010010_01101001_10010100_10010010;

Bạn chỉ có thể đặt dấu gạch dưới giữa các chữ số; bạn không thể đặt dấu gạch dưới ở những nơi sau:

  • Ở đầu hoặc cuối của một số
  • Tiếp giáp với dấu thập phân trong một ký tự dấu phẩy động
  • Trước hậu tố F hoặc L
  • Ở các vị trí mà một chuỗi chữ số được mong đợi

Các ví dụ sau chứng minh các vị trí gạch dưới hợp lệ và không hợp lệ (được đánh dấu) trong các ký tự số:

//  Không hợp lệ: không thể đặt dấu gạch dưới 
//  liền kề với dấu thập phân 
float pi1 = 3_.1415F;
//  Không hợp lệ: không thể đặt dấu gạch dưới 
//  liền kề với dấu thập phân 
float pi2 = 3._1415F;
//  Không hợp lệ: không thể đặt dấu gạch dưới 
//  trước hậu tố L 
long socialSecurityNumber1 = 999_99_9999_L;

// OK (chữ thập phân)
int x1 = 5_2;
//  Không hợp lệ: không thể đặt dấu gạch dưới 
//  Ở cuối một ký tự 
int x2 = 52_;
// OK (chữ thập phân)
int x3 = 5_______2;

//  Không hợp lệ: không thể đặt dấu gạch dưới 
//  trong tiền tố cơ số 0x 
int x4 = 0_x52;
//  Không hợp lệ: không thể đặt dấu gạch dưới 
//  ở đầu số 
int x5 = 0x_52;
// OK (chữ thập lục phân)
int x6 = 0x5_2;
//  Không hợp lệ: không thể đặt dấu gạch dưới 
//  ở cuối một số 
int x7 = 0x52_;


Xem thêm những thông tin liên quan đến chủ đề kiểu dữ liệu nguyên thủy là gì

[Lập trình Java] Hướng dẫn học cho người mới bắt đầu – Các kiểu dữ liệu nguyên thủy (primitive type)

  • Tác giả: TRUNG TÂM ĐÀO TẠO LẬP TRÌNH VIÊN ADREAM
  • Ngày đăng: 2021-10-22
  • Đánh giá: 4 ⭐ ( 4213 lượt đánh giá )
  • Khớp với kết quả tìm kiếm: [Lập trình Java] Hướng dẫn học cho người mới bắt đầu – Bài 2 giới thiệu người với học các nội dung sau:
    – Các kiểu dữ liệu nguyên thủy (primitive data type) trong ngôn ngữ lập trình java: byte, short, long, int, float, double, boolean, char và cách sử dụng các kiểu dữ liệu này.
    – Thực hành viết ứng dụng để hiểu cách dùng của các kiểu dữ liệu trong ngôn ngữ lập trình java
    Việc nắm bắt được các kiểu dữ liệu nguyên thủy trong lập trình java là rất quan trọng trước khi người học tiếp tục các nội dung khác, vì vậy các bạn hãy sẵn sàng để tiếp thu thật tốt.

    — TRUNG TÂM ĐÀO TẠO LẬP TRÌNH VIÊN ADREAM —
    Email hỏi đáp: adream.inst@gmail.com

    laptrinhjava tuhoclaptrinhjava huongdanhoclaptrinhjava

Sự khác biệt giữa lớp Wrapper và Kiểu nguyên thủy trong Java (Công nghệ)

  • Tác giả: vi.sawakinome.com
  • Đánh giá: 4 ⭐ ( 8002 lượt đánh giá )
  • Khớp với kết quả tìm kiếm: Sự khác biệt chính – Lớp Wrapper so với Kiểu nguyên thủy trong Java Java là ngôn ngữ lập trình phổ biến được sử dụng để phát triển các ứng dụng khác nhau. Một lợi thế

Các loại dữ liệu nguyên thủy trong Java (primitives variable)

  • Tác giả: stackjava.com
  • Đánh giá: 4 ⭐ ( 8747 lượt đánh giá )
  • Khớp với kết quả tìm kiếm: Các loại dữ liệu nguyên thủy trong Java (primitives variable). Giới thiệu các loại dữ liệu nguyên thủy trong Lập trình Java.

Các phương thức của kiểu dữ liệu nguyên thủy trong Javascript

  • Tác giả: kungfutech.edu.vn
  • Đánh giá: 4 ⭐ ( 2169 lượt đánh giá )
  • Khớp với kết quả tìm kiếm: JavaScript cho phép bạn sử dụng kiểu nguyên thủy giống như object. Nghĩa là bạn có thể gọi các phương thức của kiểu nguyên thủy giống như gọi với object.

Kiểu dữ liệu trong C/C++

  • Tác giả: hoclaptrinh.vn
  • Đánh giá: 3 ⭐ ( 5348 lượt đánh giá )
  • Khớp với kết quả tìm kiếm: Kiểu dữ liệu trong C/C++ bạn cần sử dụng các kiểu biến đa dạng để lưu giữ thông tin.Các biến, không gì khác ngoài các vị trí bộ nhớ được dành riêng để lưu giá trị

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

  • Tác giả: viblo.asia
  • Đánh giá: 4 ⭐ ( 3113 lượt đánh giá )
  • Khớp với kết quả tìm kiếm: Đầu tiên chúng ta sẽ nhắc lại về 2 loại kiểu dữ liệu này: 1. Kiểu dữ liệu là gì

  • Tác giả: vectordep.vn
  • Đánh giá: 5 ⭐ ( 3029 lượt đánh giá )
  • Khớp với kết quả tìm kiếm:

Xem thêm các bài viết khác thuộc chuyên mục: Kiến thức lập trình