Trường ĐH Kinh Tế
Tp.HCM
Khoa Tin Học Quản Lý
LẬP TRÌNH HƯỚNG ĐỐI TƯỢNG
1
NGÔN NGỮ C#
Giới thiệu ngôn ngữ C#
Giới thiệu ngôn ngữ C#
C# được coi là một ngôn ngữ hướng đối tượng
vì nó cung cấp các tiện ích đặc biệt cho việc tổ
chức chương trình và dữ liệu theo mơ hình
hướng đối tượng
Giới thiệu ngôn ngữ C#
Được phát triển bởi đội ngũ kỹ sư của
Microsoft, dẫn đầu là: Anders Hejlsberg và Scott
Wiltamuth
C# là một ngôn ngữ:
Đơn giản
Hiện đại
Hướng đối tượng
Mạnh mẽ & Mềm dẻo
Ít từ khố
Giới thiệu ngôn ngữ C#
C# là một ngôn ngữ đơn giản:
Loại bỏ những phức tạp có trong Java hay C++ như
macro , template , đa kế thừa , virtual base class
Giống về diện mạo cú pháp C và C++ nhưng được cải
tiến đơn giản hơn (Ví dụ : “:: , . , ” chỉ còn “.”
C# là một ngơn ngữ hiện đại:
Có đầy đủ các tính năng: Xử lý ngoại lệ, thu gom bộ
nhớ tự động, kiểu dữ liệu an toàn, bảo mật mã
nguồn…
Giới thiệu ngôn ngữ C#
C# là ngôn ngữ hướng đối tượng:
Đóng gói (encapsulation)
Kế thừa (inheritance)
Đa hình (polymorphism)
C# là một ngôn ngữ mạnh mẽ và mềm dẻo:
Tuỳ thuộc vào bản thân người dùng, khơng có giới
hạn ở bản chất ngơn ngữ.
Tạo các ứng dụng đồ hoạ, bàn tính, xử lý văn bản,
trình biên dịch cho các ngơn ngữ khác
Giới thiệu ngơn ngữ C#
C# có ít từ khố:
Cơ sở ngôn ngữ C#
Các ghi chú : // (1 dịng) , /* (nhiều dịng) */
#region :
Từ khố using: giúp sử dụng lớp có sẵn của khơng
gian tên nào đó tiện lợi hơn
Ví dụ: using System.IO;
Sử dụng được các lớp làm việc với luồng dữ liệu, tập tin,
thư mục ổ đĩa
Ứng dụng dạng console:
Nhập: string sInput ;
sInput = System.Console.ReadLine();
(chuyển kiểu : System.Convert.To????(sInput) )
Xuất : System.Console.WriteLine(“KQ = {0}”, sInput);
Cơ sở ngôn ngữ C#
Phân biệt chữ hoa chữ thường
Có các kiểu:
Dựng sẵn: byte , char , sbyte , int , float , double…
Hằng: const int PI = 3.1416;
Liệt kê: enum Ngay {Hai,Ba,Tu,Nam,Sau,Bay,CN};
Câu lệnh: if else, switch, for, while, goto, foreach
Ví dụ:
Vịng lặp để duyệt tất cả các phần tử của mảng, tập hợp
int[] intarray = new int[5];
foreach(int i in intarray)
Console.WriteLine(i.ToString());
Cơ sở ngôn ngữ C#
Không gian tên
(namespace)
Cơ sở ngôn ngữ C#
Kiểu dữ liệu (Type)
Biến (Variable) và Hằng (Constant)
Biểu thức (Expression)
Khoảng trắng (Whitespace)
Các câu lệnh (Statements)
Toán tử (Operators)
Không gian tên (Namespace)
Các chỉ thị tiền xử lý (Preprocessor Directives)
Kiểu dữ liệu (Type)
C# là một ngôn ngữ kiểm sốt chặt chẽ về mặt
kiểu dữ liệu.
Hai nhóm kiểu dữ liệu: nội tại (build-in), tự tạo
(user-defined).
Hai loại kiểu dữ liệu: kiểu tham trị (value-type),
kiểu tham chiếu (reference type).
Dữ liệu được lưu trên stack hoặc heap tùy vào
đặc thù của kiểu dữ liệu.
Kiểu dữ liệu (Type).
Type
Size
(bytes)
.NET type
Description
byte
1
Byte
Unsigned (trị 0-255).
char
2
Char
Unicode ký tự.
bool
1
Boolean
True or false.
sbyte
1
Sbyte
Signed (trị -128 to 127).
short
2
Int16
Signed (short) (trị -32,768 to 32,767).
ushort
2
UInt16
Unsigned (short) (trị 0 to 65,535).
int
4
Int32
Số nguyên có dấu (signed).
Trị từ -2,147,483,648 đến 2,147,483,647.
uint
4
UInt32
Số nguyên không dấu (Unsigned). Trị từ 0
đến 4,294,967,295.
float
4
Single
3.4 x 1038 với 7 số có ý nghĩa.
double
8
Double
1.8 x 10308 với 15-16 số có ý nghĩa.
Kiểu dữ liệu (Type)
decimal 16
Decimal
Lên đến 28 số và vị trí dấu chấm thập phân.
Thường dùng trong tính tốn tài chính. u cầu có
hậu tố (suffix) là "m" hoặc "M.".
long
8
Int64
Số ngun có dấu, trị từ
-9,223,372,036,854,775,808 đến
9,223,372,036,854,775,807.
ulong
8
UInt64
Số ngun khơng dấu, trị từ 0 đến 0xffffffffffffffff.
Object
Kiểu dữ liệu object dựa trên System.Object của
.NET Framework. Bạn có thể gán trị thuộc bất cứ
kiểu dữ liệu nào lên biến kiểu object. Thuộc kiểu
qui chiếu.
String
Kiểu string tượng trưng cho một chuỗi ký tự
Unicode. string là một alias đối với System.String
trên .NET Framework. Thuộc kiểu qui chiếu.
object
string
Chuyển đổi kiểu dữ liệu
Có 2 cách chuyển đổi:
Chuyển đổi ngầm (implicit):
Chuyển đổi ngầm sẽ tự động được thực hiện và
bảo đảm khơng mất thơng tin.
Ví dụ: short x = 5; int y = x;
Chuyển đổi tường minh (explicit).
•
•
Có những chuyển đổi ngầm khơng thể thực hiện
được và để chuyển đổi thì phải ép kiểu (cast).
Ví dụ: short x;
int y = 500; x = (short)y;
Khi ép kiểu có thể sẽ gây ra lỗi nếu khơng kiểm sốt
được giá trị của chúng.
Ví dụ: int y = 35.000;
short x = (short) y;
Biến (Variable)
Cú pháp khai báo một biến:
[modifier] datatype identifier;
modifier là một trong những từ khóa: public, private,
protected, ….
datatype là kiểu dữ liệu (int, long,…)
identifier là tên biến.
Có thể khai báo và khởi gán nhiều biến cùng một lúc, với
điều kiện các biến thuộc cùng một datatype và cùng
một modifier.
Ví dụ:
public static int x = 10, y =20; //đúng
public int x = 10, private byte y = 20; //sai
Hằng (Constant)
Là một biến nhưng trị không thay đổi trong
suốt thời gian thi hành chương trình.
Khai báo: const datatype identifier = value
Đặc điểm:
Phải có từ khóa const.
Phải được gán lúc khai báo.
Không thể gán hằng từ một trị của một biến.
Luôn là static nhưng không dùng từ khóa static khi
khai báo.
Hằng (Constant)
Ưu điểm:
Dễ đọc chương trình, bằng cách thay thế các con
số mang bởi những tên đầy ý nghĩa.
Dễ sửa chương trình, bằng cách chỉ một lần thay
đổi giá trị của hằng.
Tránh lỗi dễ dàng hơn, nếu gán lại giá trị cho hằng
thì chương trình sẽ báo lỗi ngay.
Các loại hằng: literals, symbolic constant,
enumeration.
Enumeration (Liệt kê)
Là một tập hợp những hằng được đặt tên.
Là một kiểu dữ liệu số nguyên tự tạo.
Cú pháp:
[atrributes][modifiers] enum identifier [:base-type] {enumerator-list};
base-type là bất kỳ kiểu dữ liệu nào là số (ngoại trừ char)
anumerator-list là danh sách các hằng, mỗi hằng có một trị
số, cách nhau bằng dấu phẩy. Nếu phần phần tử khơng có
trị số thì hằng đầu tiên có giá trị là 0, hằng đi sau sẽ tăng
lên 1 so với trị của hằng trước
Ví dụ:
enum SomeValues {
First,
Second,
Third = 20,
Fourth };
Phạm vi hoạt động của biến
Biểu thức và khoảng trắng
Biểu thức (expression):
Các câu lệnh cho ra một trị được gọi là biểu thức.
Ví dụ:
myVariable = 57;
mySecondVariable = myVariable;
Khoảng trắng (whitespace):
Các ký tự trắng (space), khoảng trắng canh cột
(tab), dòng mới (newline) đều được gọi là khoảng
trắng (whitespace).
C# làm lơ đi các khoảng trắng trong các câu lệnh.
Các câu lệnh (statement)
Các câu lệnh rẽ nhánh
if…else.
switch.
Các câu lệnh lặp
while
do…while
for
Các câu lệnh nhảy: continue, break, return,
goto.
Câu lệnh if…else
Cú pháp:
if (x > y)
WriteLine(“x > y”);
if (condition-expression)
statement1
[else
statement2]
if (x > y)
WriteLine(“x > y”);
else
WriteLine(“x <= y”);
Câu lệnh switch
Cú pháp:
switch(expresstion)
{
case constant-expression:
statement
jump-statement
[default:statement]
}
const int one = 1;
int nSelect = 2;
switch(nSelect)
{
case 1:
Console.WriteLine("1");
break;
case 2:
Console.WriteLine("2");
break;
case 3:
Console.WriteLine(“3");
goto case 2;
default:
Console.WriteLine(“4");
break;
}
Vòng lặp while
Thực hiện statement khi expression trả về kết quả true
while (expresstion)
statement
int
int ii == 0;
0;
while
while (i
(i << 10)
10) {{
}}
Console.WriteLine(i);
Console.WriteLine(i);
i++;
i++;
01/06/2006
0 1 2 3 4 5 6 7 8 9
Ngôn ngữ C#
25