Bài giảng Lập trình Net với C# - Chương 2: Câu lệnh trong C# tập trung làm rõ cấu trúc chương trình C#, kiểu dữ liệu, khai báo biến, các toán tử trong C#, câu lệnh kiểm tra điều kiện C#, câu lệnh lặp C#, câu lệnh xử lý ngoại lệ try-catch C#.
7/5/16 CÂU LỆNH TRONG C# PHAN TRỌNG TIẾN BM Công nghệ phần mềm Khoa Công nghệ thông tin, VNUA Email: phantien84@gmail.com Website: http://timoday.edu.vn 7/5/16 Câu lệnh C# Nội dung q Cấu trúc chương trình C# q Kiểu liệu q Khai báo biến q Các toán tử C# q Câu lệnh kiểm tra điều kiện C# q Câu lệnh lặp C# q Câu lệnh xử lý ngoại lệ try-catch C# 7/5/16 Câu lệnh C# 7/5/16 Phân chia ngôn ngữ Elementary Procedural Advanced Procedural Object Oriented Special Procedural Advanced Object Oriented Eiffel Fortran Algol 68 C C++ C# Cobol PL/I Pascal Ada 95 Java Ada 83 7/5/16 Câu lệnh C# Ví dụ chương trình “Hello world” class Hello { static void Main() { } } // Use the system console object System.Console.WriteLine(“Hello, World!”); q Tạo đối tượng kiểu class: Hello q Chứa phương thức: Main q Trong Main chứa dòng code, hiển thị “Hello, World!” q Phương thức thực thi hành động : WriteLine q Từ khoá “static” có nghĩa phương thức Main gọi khơng cần phải tạo đối tượng Nó mà phương thức class, phương thức đối tượng q Dòng bắt đầu // thích, khơng biên dịch C# 7/5/16 Câu lệnh C# 7/5/16 Câu lệnh C# q Phân biệt chữ hoa chữ thường q Không sử dụng khoảng trắng khai báo q Sử dụng dấu chấm phảy (;) để kết thúc câu lệnh q Sử dụng dấu mở ngoặc, đóng ngoặc {} để chứa khối lệnh q Chú thích C#: q /* khối lệnh*/ q // dòng lệnh 7/5/16 Câu lệnh C# Các kiểu liệu C# q Kiểu liệu hệ thống: q Reference: object, string q Singed: sbyte, short, int, long q Unsigned: byte, ushort, uint, ulong q Character: char (2 byte, Unicode) q Floating-point: float, double, decimal q Logical: bool q Tên kiểu liệu (dạng dễ nhớ) có tên tham chiếu tới kiểu hệ thống q Ví dụ: int = System.Int32 7/5/16 Câu lệnh C# 7/5/16 Kiểu liệu số sbyte: -128 : 127 byte: : 255 short: -32768 : 32767 ushort: : 65535 int: -2147483648 : 2147483647 uint: : 4294967295 long: -9223372036854775808 : 9223372036854775807 ulong: : 18446744073709551615 float: -3,402823E+38 : 3,402823E+38 double: -1,79769313486232E+308 : 1,79769313486232E+308 decimal: -79228162514264337593543950335 : 79228162514264337593543950335 7/5/16 Câu lệnh C# Kiểu liệu mảng 7/5/16 Câu lệnh C# 7/5/16 Các kiểu liệu hệ thống q Kiểu tham trị (value) q Chứa liệu trực tiếp q Không thể null q Cư trú nhớ stack i 123 q Kiểu tham chiếu (reference) q Có thể tham chiếu tới đối tượng (object) q Có thể null q Cư trú nhớ heap s 7/5/16 "Hello world" Câu lệnh C# Đồng kiểu liệu C# q Tất kiểu liệu C# thừa kế từ đối tượng object: classes, enums, arrays, delegates, structs, … q Có chuyển đổi ngầm định từ kiểu liệu tới kiểu object object Stream MemoryStream 7/5/16 Hashtable int double FileStream Câu lệnh C# 10 7/5/16 Đồng kiểu liệu C# (Boxing) q Boxing q Xử lý chuyển đổi kiểu giá trị tới kiểu object q Giá trị lưu trữ đối tượng System.Object quản lý nhớ heap q Bạn tượng tượng hộp (box), copy giá trị tới q Unboxing q Trích xuất giá trị từ object q Kiểm tra kiểu box, copy giá trị tới int i = 123; object o = (object)i; int j = (int)o; 123 System.Int32 123 7/5/16 123 Câu lệnh C# 11 Khai báo biến q Kiểu_dữ_liệu tên_biến [= giá_trị_khởi_tạo] q Ví dụ: int number = 0; string name; float myFloat = 0.5f; Bool hotOrNot = true; //Khai báo số const int MAX_VALUE = 10000000; q Các biến phải khởi tạo khởi gán trước sử dụng q Khai báo số giá trị khơng thể thay đổi 7/5/16 Câu lệnh C# 12 7/5/16 Kiểu liệt kê (Enum) enum identifier [:base-type] {enulerator-list} Ví dụ: enum Grades { gradeA = 94; gradeAminus = 90; gradeBplus = 87; gradeB = 84; } q Kiểu liệu sở (base-type kiểu liệu integer (ushort, long) ngoại trừ kiểu char q Mặc định kiểu int q Phải ép kiểu (cast) tới kiểu int để hiển thị câu lệnh Writeln q Ví dụ: (int)g.gradeA; 7/5/16 Câu lệnh C# 13 Các toán tử C# 7/5/16 Câu lệnh C# 14 7/5/16 Câu lệnh điều kiện if if (expression) statement1 [else statement2] Ví dụ: if (i < 5) { System.Console.Writeln(“i lớn 5”); } else { System.Console.Writeln(“i nhỏ 5”); } q C# có cấu trúc câu lệnh if giống C/C++/Java q Biểu thức phải đinh giá tới giá trị bool q == toán tử so sánh biểu thức if(I == 5) if(I = 5) câu lệnh đúng? 7/5/16 Câu lệnh C# 15 Câu lệnh C# 16 Ví dụ câu lệnh if 7/5/16 7/5/16 Câu lệnh Switch switch (expression) { case constant-expression: statement(s); jump-statement [default: statement(s);] } q Có thể thay câu lệnh if q Dùng câu lệnh break để kết thúc case q Có thể dùng câu lệnh goto để tiếp tục case khác Ví dụ const int raining = 1; const int snowing = 0; int weather = snowing; switch (weather) { case snowing: System.Console.Writeln(“It is snowing!”); goto case raining; case raining; System.Console.Writeln(“I am wet!”); break; default: System.Console.Writeln(“Weat her OK”); break; } 7/5/16 Câu lệnh C# 17 Ví dụ câu lệnh switch 7/5/16 Câu lệnh C# 18 7/5/16 Câu lệnh lặp q Dùng vòng lặp cần thực thi khối lệnh nhiều lần q Các loại vòng lặp: q while q for q do … while q foreach 7/5/16 Câu lệnh C# 19 Câu lệnh C# 20 Câu lệnh for 7/5/16 10 7/5/16 Câu lệnh while 7/5/16 Câu lệnh C# 21 Câu lệnh … while 7/5/16 Câu lệnh C# 22 11 7/5/16 Câu lệnh foreach 7/5/16 Câu lệnh C# 23 Ví dụ câu lệnh foreach 7/5/16 Câu lệnh C# 24 12 7/5/16 Câu lệnh break 7/5/16 Câu lệnh C# 25 Câu lệnh continue 7/5/16 Câu lệnh C# 26 13 7/5/16 Câu lệnh try-catch 7/5/16 Câu lệnh C# 27 14 ... 7/5/16 Câu lệnh C# 19 Câu lệnh C# 20 Câu lệnh for 7/5/16 10 7/5/16 Câu lệnh while 7/5/16 Câu lệnh C# 21 Câu lệnh … while 7/5/16 Câu lệnh C# 22 11 7/5/16 Câu lệnh foreach 7/5/16 Câu lệnh C# 23... C# 23 Ví dụ câu lệnh foreach 7/5/16 Câu lệnh C# 24 12 7/5/16 Câu lệnh break 7/5/16 Câu lệnh C# 25 Câu lệnh continue 7/5/16 Câu lệnh C# 26 13 7/5/16 Câu lệnh try-catch 7/5/16 Câu lệnh C# 27 14 ... q C# có cấu trúc câu lệnh if giống C/C++/Java q Biểu thức phải đinh giá tới giá trị bool q == toán tử so sánh biểu thức if(I == 5) if(I = 5) câu lệnh đúng? 7/5/16 Câu lệnh C# 15 Câu lệnh C#