Cỏc quy tắc thực hiện phộp toỏn và chuyển kiểu

Một phần của tài liệu Giáo trình lập trình windowns form với c net tập 1 TS lê trung hiếu, ths nguyễn thị minh thi (Trang 72 - 75)

2.3.3.1. Quy tắc thứ tự ưu tiờn (Precedence order rule)

Độ ưu tiờn của cỏc phộp toỏn trong biểu thức thực hiện theo thứ

tự từ trờn xuống như trong bảng sau. Cú thể chủ động quy định thứ tự

thực hiện phộp toỏn trong biểu thức bằng những cặp ngoặc trũn ( ), trong ngoặc sẽ thực hiện trước, và ngoặc trong thực hiện trước, ngoặc

ngoài thực hiện sau. Cỏc phộp toỏn trờn cựng hàng sẽ cú cựng độ ưu tiờn.

Bảng 2.4. Bảng quy tắc thứ tự ưu tiờn

Toỏn tử Ghi chỳ Quy tắc kết hợp

( ), [], .

Dấu . để truy xuất biến, phương

thức của đối tượng, lớp, [] truy xuất phần tử của mảng

Trỏi sang phải

++, --, +op, -op, !, 

Dấu +op, -op là dấu dương, õm,

! là phộp phủ định logic, là đảo

bớt

Phải sang trỏi

new, (type) op (type) op là phộp chuyển đổi

kiểu Phải sang trỏi

*, /, % Trỏi sang phải

+, - Cỏc phộp toỏn số học Trỏi sang phải

<<, >>, >>> Phộp toỏn dịch chuyển bit Trỏi sang phải

<, >, <=, >=, is Trỏi sang phải

==, != Cỏc phộp toỏn quan hệ Trỏi sang phải

& Trỏi sang phải

^

Cỏc phộp toỏn trờn từng bit

| Trỏi sang phải

&& Trỏi sang phải

|| Cỏc phộp toỏn logic Trỏi sang phải

? : Phộp toỏn điều kiện Phải sang trỏi

=, +=, -=, *=, /=, %=, ^=, &=,

|=, <<=, >>=, >>>=

Cỏc phộp toỏn gỏn Phải sang trỏi

2.3.3.2. Quy tắc kết hợp (Associativity rule)

Quy tắc kết hợp thực hiện trờn cỏc phộp toỏn cú cựng độ ưu tiờn

theo thứ tự từ trỏi qua phải hay từ phải qua trỏi như trong bảng 2.4

Vớ dụ:

int x = a + b - c; //Thứ tự thực hiện phộp toỏn + - từ trỏi qua phải

s += a += b += c; //Thứ tự thực hiện phộp gỏn từ phải sang trỏi

2.3.3.3. Quy tắc nõng cấp toỏn hạng (Operand promotion rule)

C# tự động nõng cấp kiểu cơ sở nào đú thành kiểu cơ sở khỏc lớn hơn, khi cú nhu cầu. Chẳng hạn, nõng cấp kiểu char thành int, short hoặc int thành long, nõng cấp kiểu float thành double, hay kiểu

nguyờn thành kiểu thực. Cỏc trường hợp chuyển đổi kiểu như vậy khụng làm mất mỏt thụng tin.

Vớ dụ: short x = 10; int y = x;

char c = 'A'; //ký tự 'A' cú mó unicode 65 Console.WriteLine(c+1); //in ra mó unicode 66 C# tự động nõng cấp kiểu char của biến c thành int

Trường hợp chuyển đổi cỏc số thực (float, double, decimal) thành số nguyờn (byte, sbyte, short, ushort, int, uint, long, ulong), và việc chuyển đổi cỏc kiểu lớn thành cỏc kiểu nhỏ hơn như long thành

int, kết quả tớnh toỏn cú thể thiếu chớnh xỏc, do đú C# khụng tự động thực hiện.

Vớ dụ:

byte a, b = 200, c = 100; a = b + c;

Lỗi do kiểu byte của b, c nõng cấp thành int, vỡ vậy khụng thể

gỏn giỏ trị kiểu int cho biến kiểu byte.

2.3.3.4. Quy tắc chuyển kiểu (Casting rule)

Nếu bạn muốn chuyển đổi giữa cỏc kiểu dữ liệu, sử dụng cỳ phỏp như sau:

(KiểuMới) Value

Vớ dụ:

byte a, b = 200, c = 100; a = (byte) (b+c);

Khụng lỗi nhưng cú thể mất mỏt thụng tin, do kiểu byte: 0-255 char c = ‘A’;

Console.WriteLine((char)(c+32)) //in ra ký tự ‘a’

int a=5, b=2;

Console.WriteLine((double) a / b); //in ra 2.5

Cú thể chuyển giữa 2 kiểu tham chiếu, chẳng hạn ta cú một giao

tiếp IHinhPhang, và lớp HinhChuNhat là lớp cài đặt giao tiếp

IHinhPhang:

IHinhPhang HCN = new HinhChuNhat(2, 3); Console.WriteLine(((HinhChuNhat)HCN).Canh2);

2.4. LỆNH (STATEMENT)

Lệnh cú thể là lệnh đơn, khối lệnh hay cấu trỳc điều khiển.

2.4.1. Lệnh đơn (Simple statement)

Lệnh đơn là thành phần cơ bản nhất trong chương trỡnh C#, diễn

đạt một thao tỏc riờng lẻ nào đú phải làm, được kết thỳc bằng dấu chấm phẩy.

Lệnh đơn cú thể là lời gọi phương thức, phộp gỏn, phộp tăng,

giảm giỏ trị biến, cỏc lệnh định nghĩa, khai bỏo.

Vớ dụ: int i =1;

Console.WriteLine("Đõy là một hằng chuỗi");

x++;

Một phần của tài liệu Giáo trình lập trình windowns form với c net tập 1 TS lê trung hiếu, ths nguyễn thị minh thi (Trang 72 - 75)

Tải bản đầy đủ (PDF)

(179 trang)