Số Java
số
Các loại số nguyên thủy được chia thành hai nhóm:
Kiểu số nguyên lưu trữ số nguyên, dương hoặc âm (chẳng hạn như 123 hoặc -456), không có số thập phân. Các loại hợp lệ là byte
, short
, int
và long
. Bạn nên sử dụng loại nào, tùy thuộc vào giá trị số.
Các loại dấu phẩy động biểu thị các số có phần phân số, chứa một hoặc nhiều số thập phân. Có hai loại: float
và double
.
Mặc dù có nhiều kiểu số trong Java, nhưng kiểu số được sử dụng nhiều nhất là int
(đối với số nguyên) và double
(đối với số dấu phẩy động). Tuy nhiên, chúng tôi sẽ mô tả tất cả khi bạn tiếp tục đọc.
Các kiểu số nguyên
Byte
Kiểu dữ liệu byte
có thể lưu trữ các số nguyên từ -128 đến 127. Kiểu này có thể được sử dụng thay cho int
hoặc các kiểu số nguyên khác để tiết kiệm bộ nhớ khi bạn chắc chắn rằng giá trị sẽ nằm trong khoảng -128 và 127:
Ngắn
Kiểu dữ liệu short
có thể lưu trữ các số nguyên từ -32768 đến 32767:
Int
Kiểu dữ liệu int
có thể lưu trữ các số nguyên từ -2147483648 đến 2147483647. Nói chung và trong hướng dẫn của chúng tôi, kiểu dữ liệu int
là kiểu dữ liệu ưa thích khi chúng ta tạo các biến có giá trị số.
Dài
Kiểu dữ liệu long
có thể lưu trữ các số nguyên từ -9223372036854775808 đến 9223372036854775807. Kiểu này được sử dụng khi int không đủ lớn để lưu trữ giá trị. Lưu ý rằng bạn nên kết thúc giá trị bằng chữ "L":
Các loại dấu phẩy động
Bạn nên sử dụng loại dấu phẩy động bất cứ khi nào bạn cần một số có số thập phân, chẳng hạn như 9,99 hoặc 3,14515.
Các kiểu dữ liệu float
và double
có thể lưu trữ các số phân số. Lưu ý rằng bạn nên kết thúc giá trị bằng "f" cho số float và "d" cho số float:
Sử dụng float
hay double
?
Độ chính xác của giá trị dấu phẩy động cho biết giá trị đó có thể có bao nhiêu chữ số sau dấu thập phân. Độ chính xác của float
chỉ có sáu hoặc bảy chữ số thập phân, trong khi biến double
có độ chính xác khoảng 15 chữ số. Vì vậy sẽ an toàn hơn khi sử dụng double
cho hầu hết các phép tính.
Số khoa học
Số dấu phẩy động cũng có thể là số khoa học có chữ "e" để biểu thị lũy thừa của 10:
Ví dụ
float f1 = 35e3f; double d1 = 12E4d; System.out.println(f1); System.out.println(d1);