Java 8 – Kiểu dữ liệu


Được đăng vào ngày 13/04/2017 | 0 bình luận
Java 8 – Kiểu dữ liệu
5 (100%) 1 vote

Trong phần này chúng ta sẽ tìm hiểu về các kiểu dữ liệu cơ bản.

Kiểu dữ liệu là các từ khóa trong Java dùng để chỉ ra loại giá trị của biến.

Java là một ngôn ngữ rất nặng về kiểu dữ liệu, nghĩa là chúng ta phải khai báo rõ kiểu dữ liệu cho biến trước khi thực hiện các thao tác trên biến:

int gear = 1;

Dòng code trên báo cho chương trình biết là có một trường tên là gear, lưu trữ dữ liệu dạng số, và có giá trị ban đầu là “1”. Kiểu dữ liệu của biến sẽ quyết định những giá trị mà biến đó được nhận. Ngoài int ra thì Java còn có 7 kiểu dữ liệu cơ bản khác, tức là có tổng cộng 8 kiểu dữ liệu như sau:

KIỂU DỮ LIỆU
GHI CHÚ
GIÁ TRỊ
 GIÁ TRỊ MẶC ĐỊNH
byte Số nguyên 8 bít -128 → 127 0
short Số nguyên 16 bit -32768 → 32767 0
int Số nguyên 32 bit -2147483648 → 2147483647 0
long Số nguyên 64 bit -2^63 → 2^63 – 1 0L
float Số thực 32 bit 2^-149 → (2-2^(-23))*2^127 0.0f
double Số thực 64 bit 2^(-1074) → (2-2^(-52))*2^1023   0.0d
boolean Kiểu luận lý TRUE / FALSE ‘\u0000’ (hay kí tự số ‘0’)
char Kiểu kí tự Unicode 16 bit false

Giá trị là các ký tự được gán cho các biến có kiểu dữ liệu cơ bản, chúng ta không dùng toán tử new.

Số nguyên

Số nguyên kiểu long (64 bit) được ghi kèm theo kí tự 'L' hoặc 'l' sau cùng, nếu không Java sẽ hiểu đó là số nguyên int (32 bit).

Chúng ta có thể sử dụng 3 hệ số cho số nguyên là hệ 16 (thập lục phân), hệ 2 (nhị phân) và hệ 10 (thập phân).

  • Hệ 16: sử dụng các kí tự từ 0-9 và từ A-F. Khi khai báo thì chúng ta thêm 2 kí tự '0x' vào trước số.
  • Hệ 12: chỉ sử dụng 2 kí tự 0 hoặc 1. Khi khai báo thì chúng ta thêm 2 kí tự '0b' vào trước số.
  • Hệ 10: sử dụng các số từ 0 đến 9.

Ví dụ:

int hexa = 0x1A;        // Hệ 16
int bin  = 0b110110;    // Hệ 2
int dec  = 26;          // Hệ 10

Số thực

Số thực được biểu diễn bằng phần thập phân và phần thực, ngăn cách nhau bởi dấu chấm '.'. Có thể thêm kí tự 'F' hoặc 'f' sau cùng để chỉ rõ kiểu dữ liệu là float, kí tự 'D' hoặc 'd' để chỉ rõ kiểu kí tự là double, nếu không thì Java sẽ hiểu là dùng kiểu float.

Ngoài ra chúng ta còn có thể kết thúc bằng cú pháp e<x>, trong đó x là một số nguyên, để biểu diễn phần lũy thừa của 10.

Ví dụ:

double d1 = 123.4;
double d2 = 1.234e2;    // Tương đương 1.234 x 10^2 = 123.4
float  d3 = 123.4f;

Kiểu ký tự

Giá trị của ký tự có thể chứa cả kí tự Unicode nếu hệ điều hành và phần mềm bạn dùng để viết code có hỗ trợ Unicode. Nếu không thì chúng ta có thể dùng mã Unicode để biểu diễn kí tự Unicode, ví dụ '\u0108' là kí tự 'C'. Kiểu kí tự được bọc trong cặp dấu nháy đơn.

Ngoài các kí tự có thể nhìn thấy, chúng ta còn có một số mã dùng để biểu diễn các kí tự điều khiển là:

  • \b : nút Backspace
  • \t : nút Tab
  • \n : xuống dòng
  • \r : nút Enter

Ngoài ra còn một giá trị đặc biệt nữa là null, biến có giá trị null mang ý nghĩa là biến này không có giá trị gì cả.

Phân nhóm giá trị số

Kể từ Java 7 trở đi, chúng ta có thể sử dụng dấu gạch dưới '_' để phân nhóm các số cho dễ đọc.

long ATM = 1234_5678_9012_3456;
long CMND = 2255_111_11L;
float PI = 3.14_15F;
long MAC_ADDRESS = 0xFF_EC_DE_5E_AA_6E_0F_43;
long binary = 0b1101_0011_1000_0100;

Lưu ý:

  • Chỉ để dấu gạch dưới giữa các con số, không phải ở đầu hoặc cuối số.
  • Dấu gạch dưới phải nằm cạnh một chữ số trong số thực
  • Dấu gạch dưới phải nằm trước kí tự 'F' hoặc 'L'

String

Ngoài 8 kiểu dữ liệu cơ bản trên thì Java còn hỗ trợ một kiểu đặc biệt dùng để lưu trữ chuỗi kí tự là lớp java.lang.String. Kiểu này bọc các chuỗi trong cặp dấu nháy kép '"'. Ví dụ:

String s = "Pho Code";

Giá trị mặc định của Stringnull.

Giá trị của String là không thể thay đổi, bạn chỉ có thể thay đổi tham chiếu của biến thôi. Ví dụ:

String s1 = "C++";
String s2 = s1;

System.out.println(s2);    // s2 có giá trị là 'C++'

s1 = "Java";
System.out.println(s2);    // s2 vẫn có giá trị là 'C++'

Chúng ta sẽ tìm hiểu thêm về tham chiếu sau.

Được đăng vào ngày 13/04/2017