1. Tìm hiểu chi tiết hơn về kiểu int
Nếu bạn muốn lưu số nguyên trong các biến, bạn cần dùng kiểu int.
int — là viết tắt của Integer (“số nguyên” trong tiếng Anh), ngụ ý rằng kiểu này cho phép lưu trữ các số nguyên.
Các biến kiểu int có thể lưu số nguyên trong khoảng từ -2 tỷ đến +2 tỷ. Chính xác hơn là từ -2.147.483.648 đến 2.147.483.647.
Sự thật thú vị
Những giá trị không tròn trịa như vậy liên quan đến cấu trúc bộ nhớ của máy tính.
Trong Java, kiểu int được cấp 4 byte bộ nhớ. Mỗi byte bộ nhớ gồm 8 bit. Mỗi bit chỉ có thể nhận 2 giá trị — 0 hoặc 1. Biến kiểu int chứa 32 bit và có thể nhận 4.294.967.296 giá trị.
Một nửa khoảng này dành cho số âm và nửa còn lại — cho số dương. Vì thế mới ra khoảng từ -2.147.483.648 đến 2.147.483.647.
2. Tạo biến kiểu int
Kiểu int dùng để lưu trữ số nguyên. Để tạo trong mã một biến có khả năng lưu số nguyên, bạn dùng lệnh dạng:
int imya;
Ở đây, imya — là tên biến. Ví dụ:
| Lệnh | Mô tả |
|---|---|
|
Tạo biến số nguyên x |
|
Tạo biến số nguyên count |
|
Tạo biến số nguyên currentYear |
Phân biệt chữ hoa/thường là quan trọng: các lệnh int color và int Color sẽ khai báo hai biến khác nhau.
Còn các lệnh Int Color và INT COLOR thì trình biên dịch sẽ không hiểu và báo lỗi. int — là từ khóa đặc biệt chỉ kiểu số nguyên và nó chỉ được viết bằng chữ thường.
3. Cách viết ngắn khi tạo biến
Nếu ở một chỗ trong chương trình cần tạo nhiều biến cùng kiểu, bạn có thể làm điều đó bằng cách viết gọn:
int imya1, imya2, imya3;
Ví dụ:
| Các lệnh | Cách viết ngắn của cùng các lệnh |
|---|---|
|
|
|
|
|
|
4. Gán giá trị
Để đưa giá trị vào một biến kiểu int, bạn dùng lệnh:
imya = znachenie;
Trong đó, giá trị có thể là bất kỳ biểu thức số nguyên nào. Ví dụ:
| Lệnh | Ghi chú |
|---|---|
|
|
|
Trong biến sẽ có giá trị “2 tỷ” |
|
Trong biến sẽ có giá trị “âm 10 triệu” |
|
Không biên dịch, vì 3.000.000.000 lớn hơn giá trị tối đa của kiểu int là 2.147.483.647 |
5. Cách viết gọn: tạo và khởi tạo biến
Tạo (khai báo) biến và gán giá trị cho nó có thể viết trong một lệnh. Thường thì người ta làm như vậy, vì biến thường được khai báo khi cần lưu một giá trị nào đó.
Lệnh này trông như sau:
int imya = znachenie;
Ví dụ:
| Lệnh | Ghi chú |
|---|---|
|
|
|
Trong biến sẽ có giá trị “2 tỷ” |
|
Trong biến sẽ có giá trị “âm 10 triệu” |
|
Không biên dịch, vì 3.000.000.000 lớn hơn giá trị tối đa của kiểu int: 2.147.483.647 |
Bạn cũng có thể khai báo nhiều biến trên một dòng. Khi đó lệnh có dạng:
int imya1 = znachenie1, imya2 = znachenie2, imya3 = znachenie3;
Ví dụ:
| Lệnh | Ghi chú |
|---|---|
|
a bằng 5, b bằng 10, c bằng 15 |
6. Tính toán các biểu thức số nguyên
Ở bên phải toán tử gán (dấu bằng) có thể là bất kỳ biểu thức nào — tổ hợp số, biến và các ký hiệu +, -, *, /.
Bạn cũng có thể dùng dấu ngoặc ( ). Trong Java, cũng như trong toán học, trước hết các biểu thức trong ngoặc được tính, sau đó — đến bên ngoài. Phép nhân và phép chia có cùng mức ưu tiên, và cao hơn phép cộng và phép trừ.
Ví dụ:
| Lệnh | Ghi chú |
|---|---|
|
Trong biến sẽ có giá trị 8 |
|
Trong biến sẽ có giá trị 1 |
|
Trong biến sẽ có giá trị 6 |
|
Khi thực thi lệnh này sẽ phát sinh lỗi và chương trình sẽ kết thúc. |
Ngoài ra, biến cũng có thể tham gia trong biểu thức:
int a = 1; // Trong biến a sẽ có giá trị 1
int b = 2; // Trong biến b sẽ có giá trị 2
int c = a * b + 2; // Trong biến c sẽ có giá trị 4
Hơn nữa, cùng một biến có thể đồng thời xuất hiện ở cả bên trái và bên phải của toán tử gán:
int x = 5; // Trong biến x sẽ có giá trị 5
x = x + 1; // Trong biến x sẽ có giá trị 6
x = x + 1; // Trong biến x sẽ có giá trị 7
x = x + 1; // Trong biến x sẽ có giá trị 8
x = x + 1; // Trong biến x sẽ có giá trị 9
x = x + 1; // Trong biến x sẽ có giá trị 10
Lý do là trong ngôn ngữ Java, ký hiệu = không phải là dấu “bằng” trong toán học, mà là một lệnh: đưa vào biến ở bên trái dấu = giá trị của biểu thức đã được tính ở bên phải dấu =.
7. Chia số nguyên
Trong Java, khi chia số nguyên cho số nguyên thì luôn thu được số nguyên. Phần dư khi chia sẽ bị bỏ đi. Hay có thể nói là phần thập phân bị loại bỏ.
Ví dụ:
| Lệnh | Kết quả phép chia | Ghi chú |
|---|---|---|
|
2,5 | Trong biến a sẽ có giá trị 2 |
|
6,6667 | Trong biến b sẽ có giá trị 6 |
|
-1,2 | Trong biến c sẽ có giá trị -1 |
|
0,5 | Trong biến d sẽ có giá trị 0 |
8. Phần dư khi chia số nguyên
Ngoài cộng, trừ, nhân và chia cho số nguyên trong Java còn có toán tử “phần dư”. Ký hiệu dùng là dấu phần trăm — %. Đây chính là phần dư khi chia số nguyên cho số nguyên, không phải phần thập phân.
Ví dụ:
| Lệnh | Kết quả phép chia | Ghi chú |
|---|---|---|
|
2 và dư 1 | Trong biến a sẽ có giá trị 1 |
|
5 và dư 0 | Trong biến b sẽ có giá trị 0 |
|
1 và dư 4 | Trong biến c sẽ có giá trị 4 |
|
0 và dư 1 | Trong biến d sẽ có giá trị 1 |
Đây là một toán tử rất hữu ích và được dùng khá thường xuyên. Ví dụ, để biết một số có chẵn hay không, chỉ cần chia nó cho 2 và so sánh phần dư với 0. Nếu phần dư bằng 0, số đó là chẵn; nếu bằng 1 — là lẻ.
Việc kiểm tra trông như sau:
(a % 2) == 0
Trong đó, như bạn đã đoán, a % 2 — lấy phần dư khi chia cho 2 (tức là 0 hoặc 1), còn == dùng để so sánh với 0.
9. Tăng và giảm
Trong lập trình, rất thường xuyên cần tăng hoặc giảm biến đi một đơn vị. Với các thao tác này, Java có sẵn các toán tử chuyên dụng:
Toán tử tăng (tăng thêm một) trông như sau:
a++;
Lệnh này tương đương với a = a + 1; — tăng biến a thêm một.
Toán tử giảm (giảm đi một) trông như sau:
a--;
Lệnh này tương đương với a = a - 1; — giảm biến a đi một.
Ví dụ 1
int x = 5; // Trong biến x sẽ có giá trị 5
x++; // Trong biến x sẽ có giá trị 6
x++; // Trong biến x sẽ có giá trị 7
x++; // Trong biến x sẽ có giá trị 8
x++; // Trong biến x sẽ có giá trị 9
x++; // Trong biến x sẽ có giá trị 10
Ví dụ 2
int x = 5; // Trong biến x sẽ có giá trị 5
x--; // Trong biến x sẽ có giá trị 4
x--; // Trong biến x sẽ có giá trị 3
x--; // Trong biến x sẽ có giá trị 2
x--; // Trong biến x sẽ có giá trị 1
x--; // Trong biến x sẽ có giá trị 0
x--; // Trong biến x sẽ có giá trị -1
GO TO FULL VERSION