"Chào, Amigo!"

"Chào, Rishi!"

"Bạn đã nắm vững những điều cơ bản về cú pháp Java, vì vậy bây giờ tôi muốn cung cấp cho bạn thêm một số chi tiết."

"Hôm nay, chúng ta sẽ nói về các kiểu nguyên thủy và dung lượng bộ nhớ mà chúng chiếm giữ. Kiến thức này sẽ có ích, thậm chí có thể cho đến ngày nay. Đây là các kiểu cơ bản:"

Kiểu Kích thước,
byte
Phạm vi giá trị Giá trị mặc định Sự miêu tả
byte 1 -128..127 0 Số nguyên nhỏ nhất, 1 byte
ngắn 2 -32,768 .. 32,767 0 Số nguyên ngắn, 2 byte
int 4 -2*10 9  .. 2*10 9 0 Số nguyên, 4 byte
dài số 8 -9*10 18  .. 9*10 18 0L Số nguyên dài, 8 byte
trôi nổi 4 -10 127  .. 10 127 0,0f Số phân số, 4 byte
gấp đôi số 8 -10 1023  .. 10 1023 0,0d Số phân số gấp đôi kích thước của số float, 8 byte
boolean 1 đúng sai SAI Kiểu Boolean (chỉ đúng hoặc sai)
than 2 0..65,535 '\u0000' Ký tự, 2 byte, tất cả giá trị không dấu
Sự vật 4 Bất kỳ tài liệu tham khảo hoặc null. vô giá trị Lưu trữ các tham chiếu đến các thể hiện của Đối tượng hoặc các lớp xuất phát từ Đối tượng

"Để tôi nói cho bạn biết thêm về từng loại."

"Loại byte là loại số nguyên nhỏ nhất. Các biến thuộc loại này chỉ chiếm 1 byte bộ nhớ. Một byte có thể lưu trữ các giá trị trong phạm vi từ -128 đến 127."

"Tại sao chúng ta cần một loại nhỏ như vậy? Tại sao chúng ta không thể luôn sử dụng int?"

"Chúng tôi có thể. Nhưng nếu bạn đang tạo các mảng lớn mà các phần tử không bao giờ cần lưu trữ các giá trị lớn hơn 100, tại sao không sử dụng loại này? Điều đó có hợp lý không?"

"Một short dài gấp đôi một byte và nó cũng chỉ lưu trữ các số nguyên. Số dương lớn nhất mà nó có thể lưu trữ là 32.767. Số âm lớn nhất mà nó có thể lưu trữ là -32.768."

"  Kiểu int  bạn đã quen thuộc. Nó có thể lưu số nguyên trong phạm vi ±2.000.000.000."

"  Kiểu float  được tạo để lưu trữ số thực (phân số). Kích thước của nó là 4 byte."

"Số phân số được lưu trữ trong một hình thức khá thú vị."

"Ví dụ: số  987654.321  có thể được biểu thị là 0.987654321*10 6 . Điều này có nghĩa là nó có thể được biểu thị dưới dạng hai số trong bộ nhớ: 0. 987654321 ( phần định trị hoặc số có nghĩa ) và 6 ( số mũ cơ số 10 ).

"Chúng ta cần cái đó để làm gì?"

"Cách tiếp cận này cho phép chúng tôi sử dụng 4 byte để lưu trữ các số lớn hơn nhiều so với những gì một int có thể lưu trữ. Để làm điều này, chúng tôi phải hy sinh độ chính xác. Chỉ một phần của các byte đó được sử dụng để lưu trữ phần định trị, nghĩa là những số này chỉ lưu trữ 6-7 chữ số thập phân. Các chữ số thập phân ít quan trọng hơn sẽ bị loại bỏ."

"Những số này còn được gọi là số dấu phẩy động. Đây là nguồn gốc của tên loại float . "

"Tôi hiểu rồi."

" Loại kép tương tự như float , nhưng dài gấp đôi (do đó có tên), chiếm 8 byte. Nó có thể chứa một phần định trị lớn hơn và nhiều chữ số có nghĩa hơn. Nếu bạn cần lưu trữ số thực, hãy luôn cố gắng sử dụng loại này. "

" char là một kiểu kết hợp. Các giá trị của nó có thể được hiểu là cả số (có thể cộng hoặc trừ) và ký tự. Điều này có thể bởi vì ngay cả khi các ký tự có biểu diễn trực quan, máy tính chủ yếu xem chúng dưới dạng số. Và nó thuận tiện hơn để coi chúng là số. Một điều nữa: kiểu char luôn dương. Nó không thể giữ giá trị âm. "

" Kiểu boolean là kiểu logic chỉ có thể lưu trữ hai giá trị: đúng hoặc sai  . "

"Mặc dù có sự hiện diện của nó trong biểu đồ này, nhưng kiểu Đối tượng không phải là kiểu nguyên thủy. Nó là lớp cơ sở cho tất cả các lớp trong Java. Đầu tiên, tất cả các lớp đều được dẫn xuất từ ​​nó và do đó chứa các phương thức của nó. Thứ hai, một biến Đối tượng có thể lưu trữ các tham chiếu đến các đối tượng thuộc bất kỳ loại nào, kể cả null ( tham chiếu null )."

"Hôm nay tôi đã học được rất nhiều. Cảm ơn vì bài học, Rishi."