Những kiểu dữ liệu primitive là những kiểu dữ liệu đơn giản nhất trong mọi ngôn ngữ lập trình nói chung và Java nói riêng. Trong Java chúng ta có 8 kiểu dữ liệu primitive như sau:
- char
- byte
- short
- int
- long
- float
- double
- boolean
Những biến được định nghĩa với kiểu dữ liệu primitive thì được gọi là biến primitive. Trong bài viết này, chúng ta sẽ cùng tìm hiểu các kiểu dữ liệu primitive trong Java, làm thế nào để tạo và gán giá trị ban đầu cho biến primitive.
char
Cú pháp để định nghĩa một biến có kiểu dữ liệu là char như sau:
1 |
char <ten_bien> = 'gia_tri_cua_bien'; |
Ví dụ:
1 |
char a = 'A'; |
Như các bạn thấy, giá trị của biến char sẽ được đặt trong một dấu ngoặc đơn, nếu các bạn đặt nó trong một dấu ngoặc kép như khai báo biến cho một String thì sẽ bị lỗi compile ngay.
Một biến char biểu diễn cho 16 bit ký tự Unicode, nó có thể biểu diễn cho tất cả ký tự trong tất cả các ngôn ngữ khác nhau từ những ký tự đơn giản trong tiếng Anh đến những ký tự phức tạp trong tiếng Nhật, tiếng Hàn và cả tiếng Việt của chúng ta nữa. Giá trị của nó được biểu diễn ở dạng Unicode trong khoảng giá trị từ ” \u0000″ (0) đến “\uffff” (65535). Và bên trong Java lưu trữ biến char bằng một số dương từ 0 đến 65535.
Trong ví dụ trên, chúng ta đã khai báo biến a với giá trị là A, tương ứng với ký tự A sẽ là số 65 trong bảng mã ASCII (American Standard Code for Information Interchange) và do đó một cách khác để khai báo biến char trong Java mà chúng ta có thể sử dụng đó là:
1 |
char a = 65; |
Khi chạy đoạn code trên:
1 2 3 4 5 6 7 8 9 |
package com.huongdanjava; public class Example { public static void main(String[] args) { char a = 65; System.out.println(a); } } |
Kết quả sẽ là A.
Các bạn có thể tham khảo thêm bảng mã ASCII dưới đây:
Như mình đã nói ở trên giá trị của biến char là một số dương, nên nếu bạn gán cho nó một giá trị âm thì nó sẽ bị lỗi compile ngay;
Nhưng nếu trong trường hợp bạn khai báo biến char với số âm bằng cách ép kiểu thì vẫn được, không bị lỗi compile:
Nhưng khi chạy, kết quả sẽ luôn là
byte
byte là kiểu dữ liệu có kích thước 8 bits với khoảng giá trị đi từ -128 đến 127.
Ví dụ khai báo biến byte như sau:
1 |
byte a = 83; |
short
short thì có kích thước lớn hơn byte, 16bits, với khoảng giá trị cũng lớn hơn byte đi từ -32.768 đến 32.767.
Ví dụ khai báo biến short như sau:
1 |
short a = 12345; |
int
int có kích thước 32 bits, trong khoảng giá trị từ -2.147.483.648 đến 2.147.483.647.
Khai báo biến int như sau:
1 |
int a = 100; |
long
long là kiểu dữ liệu 64 bits, khoảng giá trị của nó từ –9.223.372.036.854.775.808 đến 9.223.372.036.854.775.807. Một khoảng giá trị rất lớn phải không các bạn, thật sự chúng ta cũng không cần phải nhớ số này để làm gì. 😀
Khai báo biến long như sau:
1 |
long a = 234; |
Một số lưu ý cho các biến byte, short, int, long
– Khi khai báo một biến, nếu các bạn không gán giá trị cho nó thì giá trị mặc định của nó sẽ là 0.
– Kiểu dữ liệu mặc định của các số nguyên là int. Có nghĩa khi bạn khai báo như sau:
1 |
long a = 1000; |
thì số 1000 ở đây là kiểu int. Nhưng cơ chế tự động chuyển đổi từ kiểu int qua kiểu long của Java cho phép chúng ta khai báo như vậy. Để chỉ định số 1000 là kiểu long, các bạn có thể thêm chữ L hoặc l sau số này và khai báo như sau:
1 |
long a = 1000L; |
Ngoài ra, Java cho phép tự động chuyển đổi biến giữa các kiểu dữ liệu primitive như sau (có cả float và double nữa nha các bạn):
- byte qua short, int, long, float, hoặc double.
- short qua int, long, float, hoặc double.
- char qua int, long, float, hoặc double.
- int qua long, float, hoặc double.
- long qua float hoặc double.
- float qua double.
– Java còn cho phép chúng ta biểu diễn các biến này trong hệ nhị phân, hệ thập phân, hệ 8 và hệ 16.
- Hệ nhị phân thì biến được khai báo bắt đầu bằng 0b hoặc 0B.
Ví dụ:
1 |
int b = 0b100001011; |
- Hệ thập phân là những số chúng ta dùng hàng ngày thì được biểu diễn như bình thường.
Ví dụ;
1 |
int b = 129; |
- Hệ 8 thì biến được khai báo bắt đầu bằng 0.
Ví dụ:
1 |
int b = 0235; |
- Hệ 16 thì biến được khai báo bắt đầu bằng 0x hoặc 0X.
Ví dụ:
1 |
int b = 0xA; |
– Trong Java 7, khi khai báo các biến có giá trị lớn, chúng ta có thể sử dụng dấu gạch dưới giữa các số theo ý của bạn để số có thể dễ đọc hơn.
Ví dụ:
Các bạn có thể sử dụng dấu gạch dưới để khai báo biến trong Java 7 với những nguyên tắc sau:
- Các bạn không thể khai báo dấu gạch dưới ở đầu hoặc ở cuối của một số.
- Các bạn không thể đặt dấu gạch dưới ngay sau 0b, 0B, 0x, 0X trong khai báo số nhị phân và số trong hệ 16.
- Các bạn có thể đặt dấu gạch dưới sau số 0 trong khai báo số trong hệ 8.
- Các bạn không thể đặt dấu gạch dưới trước chữ L hay tương tự những chữ khác (chữ L đánh dấu giá trị của biến ở kiểu long).
Bài viết này, mình chỉ giới thiệu với các bạn năm kiểu dữ liệu đầu tiên, phần tiếp theo mình sẽ giới thiệu với các bạn về float, double và boolean.
Hãy chờ đọc nhé các bạn!