Biến và kiểu dữ liệu
Nội dung bài · 6 mục
Chương trình bán hàng cần nhớ tên sản phẩm, giá, số lượng trong kho. Để lưu những giá trị đó, bạn dùng biến. Mỗi biến có một kiểu, và chọn đúng kiểu là việc đầu tiên phải làm.
Khái niệm
📦 Biến (variable): một cái tên dùng để lưu và đọc lại một giá trị trong chương trình.
🏷️ Kiểu dữ liệu (data type): loại giá trị mà biến được phép chứa, ví dụ số nguyên hay chuỗi.
C# kiểm tra kiểu ngay lúc compile. Biến đã khai báo kiểu int thì không gán
chuỗi vào được.
Ví dụ
string name = "Bút bi";
int quantity = 120;
decimal price = 5000.50m;
bool inStock = true;
Console.WriteLine(name);
Console.WriteLine(price);Khai báo biến theo mẫu kiểu tên = giá trị;. Năm kiểu dùng nhiều nhất:
| Kiểu | Chứa gì | Ví dụ |
|---|---|---|
int |
số nguyên | 120 |
double |
số thực, tính nhanh nhưng có sai số nhỏ | 1.75 |
decimal |
số thực chính xác, dùng cho tiền | 5000.50m |
bool |
đúng hoặc sai | true, false |
string |
chuỗi chữ | "Bút bi" |
- Số
decimalphải có chữmở cuối:5000.50m. - Tên biến viết kiểu camelCase: chữ đầu thường, các từ sau viết hoa
(
inStock,unitPrice).
Từ khoá var
Khi giá trị bên phải đã rõ kiểu, bạn có thể viết var thay cho tên kiểu:
var quantity = 120; // int
var price = 5000.50m; // decimal
var name = "Bút bi"; // stringvar không phải kiểu "gì cũng được". Compiler tự suy ra kiểu từ giá trị, và
kiểu này không đổi về sau.
Thử ngay
Dán vào Program.cs rồi chạy dotnet run:
double a = 0.1;
double b = 0.2;
Console.WriteLine(a + b);
decimal c = 0.1m;
decimal d = 0.2m;
Console.WriteLine(c + d);Đoán trước khi chạy: hai dòng in ra có giống nhau không?
Xem kết quả
0.30000000000000004
0.3Không giống. double lưu số theo hệ nhị phân nên có sai số nhỏ. decimal
lưu chính xác số thập phân, vì vậy tiền luôn dùng decimal.
Lỗi hay gặp
Gán sai kiểu. "5" là chuỗi, không phải số.
// SAI — lỗi compile: không gán chuỗi cho int
int quantity = "5";// ĐÚNG
int quantity = 5;Quên chữ m với decimal. Số có dấu chấm mặc định là double.
// SAI — lỗi compile: 9.99 là double
decimal price = 9.99;// ĐÚNG
decimal price = 9.99m;Tóm tắt
- Khai báo biến:
kiểu tên = giá trị;. intcho số nguyên,decimalcho tiền,boolcho đúng/sai,stringcho chữ.varcho compiler tự suy ra kiểu, nhưng kiểu vẫn cố định.- Tiền dùng
decimal, không dùngdouble.
Bình luận
Đang tải bình luận…