CodeGym /Các khóa học /C# SELF /Số nguyên: kiểu int, các phép toán với kiểu int

Số nguyên: kiểu int, các phép toán với kiểu int

C# SELF
Mức độ , Bài học
Có sẵn

1. Tìm hiểu kỹ hơn về kiểu int

Nếu bạn muốn lưu số nguyên trong 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), kiểu này cho phép lưu trữ số nguyên.

Biến kiểu int có thể lưu số nguyên trong phạm vi từ -2,147,483,648 đến 2,147,483,647 (nói đơn giản là từ -2 tỷ đến +2 tỷ).

Fun fact

Những giá trị không tròn này là do cách bộ nhớ máy tính hoạt động. Trong C#, kiểu int chiếm 4 byte bộ nhớ. Mỗi byte có 8 bit. Mỗi bit chỉ có thể là 0 hoặc 1. Biến kiểu int32 bit và có thể lưu 4,294,967,296 giá trị.

Một nửa phạm vi này dành cho số âm, nửa còn lại cho số dương. Vậy nên mới có phạm vi 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 số nguyên. Để tạo biến lưu số nguyên trong code, bạn dùng lệnh kiểu như sau:

int ten;
Khai báo biến kiểu int

Trong đó ten là tên biến. Ví dụ:

Lệnh Mô tả
int x;
Tạo biến số nguyên x
int count;
Tạo biến số nguyên count
int currentYear;
Tạo biến số nguyên currentYear

Chữ hoa/thường có ý nghĩa: lệnh int colorint Color sẽ tạo hai biến khác nhau.

Còn lệnh Int ColorINT COLOR thì compiler sẽ không hiểu và báo lỗi. int là từ khóa đặc biệt, chỉ viết thường thôi.

3. Ghi tắt khi tạo nhiều biến

Nếu bạn cần tạo nhiều biến cùng kiểu trong một chỗ, có thể dùng cách ghi tắt:


int ten1, ten2, ten3;
        
Khai báo nhiều biến kiểu int

Ví dụ:

Lệnh Ghi tắt
int x;
int y;
int z;
int x, y, z;
int count;
int totalCount;
int count, totalCount;
int day;
int month;
int year;
int day, month, year;

4. Gán giá trị

Để gán giá trị cho biến kiểu int, bạn dùng lệnh:


ten = giatri;
        
Gán giá trị cho biến

Giá trị có thể là bất kỳ biểu thức số nguyên nào. Ví dụ:

Lệnh Ghi chú
int a;
a = 5;
int b;
b = 2*1000*1000*1000;
Biến này sẽ có giá trị "2 tỷ"
int c;
c = -10000000;
Biến này sẽ có giá trị "âm 10 triệu"
int d;
d = 3000000000;
Không biên dịch được, vì 3,000,000,000 lớn hơn giá trị tối đa kiểu int 2,147,483,647

5. Ghi tắt khai báo và khởi tạo biến

Khai báo biến và gán giá trị có thể ghi trên một dòng. Thường thì mọi người làm vậy luôn, vì biến thường được khai báo khi cần lưu giá trị nào đó.

Lệnh sẽ như sau:


int ten = giatri;
        
Ghi tắt khai báo và khởi tạo biến

Ví dụ:

Lệnh Ghi chú
int a = 5;
int b = 2*1000*1000*1000;
Biến này sẽ có giá trị "2 tỷ"
int c = -10000000;
Biến này sẽ có giá trị "âm 10 triệu"
int d = 3000000000;
Không biên dịch được, vì 3,000,000,000 lớn hơn giá trị tối đ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. Lệnh sẽ như sau:


int ten1 = giatri1, ten2 = giatri2;
Ghi tắt khai báo và khởi tạo nhiều biến

Ví dụ:

Lệnh Ghi chú
int a = 5, b = 10, c = a + b;
a bằng 5, b bằng 10, c bằng 15

6. Tính toán biểu thức số nguyên

Bên phải dấu gán (=) có thể là bất kỳ biểu thức nào – kết hợp số, biến và các dấu +, -, *, /.

Bạn cũng có thể dùng dấu ngoặc ( ). Trong C#, giống toán học, tính trong ngoặc trước, ngoài ngoặc sau. Nhân và chia ưu tiên hơn cộng trừ.

Ví dụ:

Lệnh Ghi chú
int a = (2 + 2) * 2;
Biến này sẽ có giá trị 8
int b = (6 - 3) / (9 - 6);
Biến này sẽ có giá trị 1
int c = (-2) * (-3);
Biến này sẽ có giá trị 6
int d = 3 / 0;
Chạy lệnh này sẽ lỗi và chương trình dừng.

Biểu thức cũng có thể dùng biến:

int a = 1;			// Biến a sẽ có giá trị 1
int b = 2;			// Biến b sẽ có giá trị 2
int c = a * b + 2;	// Biến c sẽ có giá trị 4

Thậm chí, một biến có thể vừa ở bên trái vừa ở bên phải dấu gán:

int x = 5;		// Biến x sẽ có giá trị 5
x = x + 1;		// Biến x sẽ có giá trị 6
x = x + 1;		// Biến x sẽ có giá trị 7
x = x + 1;		// Biến x sẽ có giá trị 8
x = x + 1;		// Biến x sẽ có giá trị 9
x = x + 1;		// Biến x sẽ có giá trị 10

Trong C#, dấu = không phải là dấu bằng, mà là lệnh gán giá trị cho biến bên trái = bằng giá trị tính được bên phải =.

7. Chia số nguyên

Trong C#, khi chia số nguyên cho số nguyên thì kết quả luôn là số nguyên. Phần dư bị bỏ đi. Nói cách khác, phần thập phân bị bỏ.

Ví dụ:

Lệnh Kết quả chia Ghi chú
int a = 5 / 2;
2.5 Biến a sẽ có giá trị 2
int b = 20 / 3;
6.6667 Biến b sẽ có giá trị 6
int c = -6 / 5;
-1.2 Biến c sẽ có giá trị -1
int d = 1 / 2;
0.5 Biến d sẽ có giá trị 0

8. Lấy dư khi chia số nguyên

Ngoài cộng, trừ, nhân, chia, với số nguyên trong C# còn có toán tử "lấy dư". Dùng ký hiệu phần trăm – %. Đây là phần dư khi chia số nguyên cho số nguyên, không phải phần thập phân nhé.

Ví dụ:

Lệnh Kết quả chia Ghi chú
int a = 5 % 2;
21 Biến a sẽ có giá trị 1
int b = 20 % 4;
50 Biến b sẽ có giá trị 0
int c = 9 % 5;
14 Biến c sẽ có giá trị 4
int d = 1 % 2;
01 Biến d sẽ có giá trị 1

Đây là toán tử rất hữu ích, dùng khá nhiều. Ví dụ, để kiểm tra số chẵn hay lẻ, chỉ cần chia cho 2 và so sánh phần dư với 0. Nếu dư bằng 0 thì số chẵn, dư bằng 1 thì số lẻ.

Kiểm tra như sau:


            (a % 2) == 0

Như bạn đoán rồi, a % 2 là lấy dư khi chia cho 2 (tức là 0 hoặc 1), còn == là so sánh với 0.

9. Tăng giảm giá trị (Increment và Decrement)

Lập trình thường xuyên phải tăng hoặc giảm biến lên 1. Trong C# có lệnh riêng cho việc này:

Toán tử increment (tăng 1) như sau:


            a++;
Tăng lên 1

Lệnh này giống như a = a + 1; – tăng biến a lên 1.

Toán tử decrement (giảm 1) như sau:


            a--;
Giảm đi 1

Lệnh này giống như a = a - 1; – giảm biến a đi 1.

Ví dụ 1

int x = 5;		// Biến x sẽ có giá trị 5
x++;			// Biến x sẽ có giá trị 6
x++;			// Biến x sẽ có giá trị 7
x++;			// Biến x sẽ có giá trị 8
x++;			// Biến x sẽ có giá trị 9
x++;			// Biến x sẽ có giá trị 10

Ví dụ 2

int x = 5;		// Biến x sẽ có giá trị 5
x--;			// Biến x sẽ có giá trị 4
x--;			// Biến x sẽ có giá trị 3
x--;			// Biến x sẽ có giá trị 2
x--;			// Biến x sẽ có giá trị 1
x--;			// Biến x sẽ có giá trị 0
x--;			// Biến x sẽ có giá trị -1
2
Nhiệm vụ
C# SELF, mức độ, bài học
Đã khóa
Quay lại tương lai
Quay lại tương lai
2
Nhiệm vụ
C# SELF, mức độ, bài học
Đã khóa
Trở lại tương lai 2
Trở lại tương lai 2
Bình luận
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION