1. Định nghĩa: Biến là một vùng nhớ được đặt tên , được sử dụng để lưu trữ dữ liệu trong chương trình.
2. Cấu trúc: Để khai báo biến chúng ta có cấu trúc như sau:
;
Vd: để khai báo 1 biến a kiểu một số nguyên ta làm như sau:
Int a;
Nếu các bạn muốn gán giá trị cho biến a là một giá trị xác định, ở đây tôi vd gán giá trị cho a bằng 3.
a = 3;
Cấu trúc: = ;
Từ 2 ví dụ trên chúng ta có thể khai báo gộp như sau:
Int a = 3;
Ví dụ sau sẽ minh họa cách sử dụng biến:
using System;
using System.Collections.Generic;
using System.Text;
namespace SuDungBien
{
class MinhHoa
{
static void Main()
{
int bien1 = 3; // khai báo và khởi tạo giá trị cho một biến
Console.WriteLine("Sau khi khoi tao: bien1 ={0}", bien1);
bien1 = 10; // gán giá trị cho biến
Console.WriteLine("Sau khi gan: bien1 ={0}", bien1);
Console.ReadLine();
}
}
}
using System.Collections.Generic;
using System.Text;
namespace SuDungBien
{
class MinhHoa
{
static void Main()
{
int bien1 = 3; // khai báo và khởi tạo giá trị cho một biến
Console.WriteLine("Sau khi khoi tao: bien1 ={0}", bien1);
bien1 = 10; // gán giá trị cho biến
Console.WriteLine("Sau khi gan: bien1 ={0}", bien1);
Console.ReadLine();
}
}
}
Bây giờ nếu bạn có nhiều biến với cùng 1 kiểu dữ liệu thì có thể khai báo chung được không và nếu gán cho chúng cùng giá trị như nhua thì sao? Dĩ nhiên câu trả lời là có và chúng ta có thể gộp chung việc khai báo các biến cùng kiểu và cùng giá trị.
Chúng ta có cấu trúc như sau: ,…,;
Vd: int a,b,c;
Gán cùng một giá trị cho nhiều biến(cái này người ta gọi là “đa gán”).
Vd: gán giá trị 3 cho 3 biến a, b,c;
a = b = c = 3;
Chú ý:
a, trong C# yêu cầu các biến phải được khởi tạo trước khi sử dụng.
b, tên biến trong C# phân biệt chữ hoa, chữ thường.
c, tên biến chỉ có thể bắt đầu với ký tự hoặc dấu _ chứ không thể bắt đầu với chữ số.
d, tên biến không được chưa các ký tự đặc biệt như $,#,%,^…
e, tên biến không đươc trùng với từ khóa nhưng nếu muốn đặt trùng tên với từ khóa thì dùng @ ở đằng trước.
Và cuối cùng hãy nhớ đặt tên biến sao cho nó phả ánh được ý nghĩa mà chúng ta sử dụng nó để thuận lợi hơn trong việc kiểm tra lại code.
Ngoài ra hằng (constant) cũng được coi là biến nhưng tớ sẽ nhắc tới nó vào phần sau.
Từ nãy đến giờ nhắc đến “kiểu dữ liệu” chắc các bạn đang thắc mắc nó là gì đúng hem? Sẽ không để các bạn phải chờ lâu nữa.
!!> Kiểu dữ liệu (data type)
C# chia thành hai tập hợp kiểu dữ liệu chính: Kiểu xây dựng sẵn (built- in) mà ngôn ngữ cung cấp cho người lập trình và kiểu được người dùng định nghĩa(user-defined) do người lập trình tạo ra. C# phân tập hợp kiểu dữ liệu này thành hai loại: Kiểu dữ liệu giá trị (value) và kiểu dữ liệu tham chiếu (reference).
1. Kiểu dữ liệu giá trị: là các kiểu dữ liệu lưu trữ các thông tin thức tế.
Các kiểu dữ liệu xây dựng sẵn
byte: số nguyên dương không dấu từ 0-255
char: ký tự Unicode
int: số nguyên có dấu –2.147.483.647 và 2.147.483.647
float: kiểu dấu chấm động, giá trị xấp xỉ từ 3,4E-38 đến 3,4E+38, với 7 chữ số có nghĩa..
sbyte : số nguyên có dấu ( từ -128 đến 127)
short: số nguyên có dấu giá trị từ -32768 đến 32767.
ushort: số nguyên không dấu 0 – 65.535
uint: số nguyên không dấu 0 – 4.294.967.295
double: kiểu dấu chấm động có độ chính xác gấp đôi, giá trị xấp xỉ từ 1,7E-308 đến 1,7E+308,với 15,16 chữ số có nghĩa.
decimal: Có độ chính xác đến 28 con số và giá trị thập phân, được dùng trong tính toán tài chính, kiểu này đoi hỏi phải có hậu tố “m” hay “M” theo sau giá trị.
long: kiểu số nguyên có dấu có giá trị trong khoảng :-9.223.370.036.854.775.808 đến 9.223.372.036.854.775.807
ulong: Số nguyên không dấu từ 0 đến 0xffffffffffffffff
bool: Giá trị logic true/ false
2. Kiểu dữ liệu tham chiếu:
object: đây là kiểu dữ liệu cơ sở chứa tất cả các kiểu dữ liệu khác trong C#.
string: kiểu dữ liệu chuỗi ký tự.
class: kiểu dữ liệu class.
delegate: kiểu dữ liệu chuyển giao.
interface: kiểu dữ liệu giáo tiếp.
array: kiểu dữ liệu mảng.
I. Hằng là gì?
Như trên tớ đã nói thì chúng ta có thể khái quát lại như sau: hằng là một biến nhưng giá trị của nó không thay đổi.
Từ định nghĩa các bạn phải chú ý 1 điều: trong suốt chương trình phải đảm bảo giá trị của nó không đổi. (Đừng làm liều nghe.hihi.)
II. Phân loại: hằng được phân thành 3 loại:
Bây giờ chúng ta sẽ đi phân tích chi tiết từng loại 1 nhé.
Đầu tiên sẽ là cấu trúc khai báo hằng
= ;
Vd: const int a = 20;
1. Giá trị hằng: từ ví dụ trên thì giá trị 20 chính là giá trị hằng và giá trị 20 là không đổi.
2. Biểu tượng hằng: một biểu tượng hằng phải tượng khởi tạo trước khi khai báo và chỉ duy nhất một lần trong suốt quá trình và không được thay đổi. Trong ví dụ trên thì a chính là biểu tượng hằng có kiểu số nguyên. (các bạn nên đặt biểu tượng hằng có ý nghĩa nó sẽ giúp chúng ta dễ dàng hơn khi xem lại).
3. Kiểu liệt kê: kiểu liệt kê là tập hợp các tên hằng có giá trị không đổi (danh sách liệt kê).
3.1. Cách khai báo và sử dụng
Trong ví dụ trên ta có:
const int diemmax = 10;
cost int diemliet = 0;
Bây giờ theo yêu cầu mở rộng của bài toán chúng ta thêm một số hằng khác vào danh sách trên:
const int diemtb = 5; //điểm trung binh
const int diemkha = 7; //điểm khá
Và dĩ nhiên các biểu tượng hằng trên đều có ý nghĩa quan hệ với nhau, chúng cùng nhắc đến các mốc điểm để đánh giá điểm thi. Một vấn đề đặt ra nếu chúng ra để riêng lẻ từng hằng trên thì chương trình nhìn sẽ không đẹp mắt và cồng kềnh. Lúc này đây C# cung cấp cho người lập trình một giải pháp để giải quyết vấn đề trên đó là kiểu liệt kê:
Cú pháp:
Vd:
Chú ý: mỗi kiểu liệt kê đều có một kiểu dữ liệu cơ sở có thể là bất kỳ kiểu dữ liệu nào như int, short, long…tuy nhiên kiểu dữ liệu liệt kê không chấp nhận kiểu ký tự và nếu chúng ta bỏ qua phần này thì trình biên dịch sẽ gán giá trị mặc định là kiểu nguyên (int). Kiểu liệt kê là một kiểu hình thức do đó bắt buộc phải thực hiện phép chuyển đổi tường minh với các kiểu giá trị nguyên:
using System;
using System.Collections.Generic;
using System.Text;
namespace khoaimon
{
class KieuEnum
{
enum diemthi : int
{
diemmax = 10,
diemliet = 0,
diemtb = 5,
diemkha = 7,
};
static void Main()
{
System.Console.WriteLine("diem cao nhat: {0}",(int)diemthi.diemmax);
System.Console.WriteLine("diem liet: {0}",(int)diemthi.diemliet);
System.Console.WriteLine("diem trung binh {0}",(int)diemthi.diemtb);
System.Console.WriteLine("diem kha: {0}",(int)diemthi.diemkha);
Console.ReadLine();
}
}
}
using System.Collections.Generic;
using System.Text;
namespace khoaimon
{
class KieuEnum
{
enum diemthi : int
{
diemmax = 10,
diemliet = 0,
diemtb = 5,
diemkha = 7,
};
static void Main()
{
System.Console.WriteLine("diem cao nhat: {0}",(int)diemthi.diemmax);
System.Console.WriteLine("diem liet: {0}",(int)diemthi.diemliet);
System.Console.WriteLine("diem trung binh {0}",(int)diemthi.diemtb);
System.Console.WriteLine("diem kha: {0}",(int)diemthi.diemkha);
Console.ReadLine();
}
}
}
Chú ý: Mỗi thành phần trong kiểu liệt kê tương ứng với một giá trị số, trong trường hợp này là một
số nguyên. Nếu chúng ta không khởi tạo cho các thành phần này thì chúng sẽ nhận các giá trị tiếp theo với thành phần đầu tiên là 0.
vd:
using System;
using System.Collections.Generic;
using System.Text;
namespace ConsoleApplication18
{
class Program
{
enum diemthi : int
{
diemmax,
diemliet,
diemtb,
diemkha,
};
static void Main(string[] args)
{
System.Console.WriteLine("diem cao nhat: {0}",(int)diemthi.diemmax);
System.Console.WriteLine("diem liet: {0}",(int)diemthi.diemliet);
System.Console.WriteLine("diem trung binh {0}",(int)diemthi.diemtb);
System.Console.WriteLine("diem kha: {0}",(int)diemthi.diemkha);
Console.ReadLine();
}
}
}
using System.Collections.Generic;
using System.Text;
namespace ConsoleApplication18
{
class Program
{
enum diemthi : int
{
diemmax,
diemliet,
diemtb,
diemkha,
};
static void Main(string[] args)
{
System.Console.WriteLine("diem cao nhat: {0}",(int)diemthi.diemmax);
System.Console.WriteLine("diem liet: {0}",(int)diemthi.diemliet);
System.Console.WriteLine("diem trung binh {0}",(int)diemthi.diemtb);
System.Console.WriteLine("diem kha: {0}",(int)diemthi.diemkha);
Console.ReadLine();
}
}
}
Khi đó giá trị thứ nhất là 0, các giá trị sau sẽ là 1; 2; 3.(đây là trường hợp với số nguyên).
(congdongcviet)
0 nhận xét:
Đăng nhận xét