Bài 3: Các phép toán - Khai báo hằng - Pdf 13


LẬP TRÌNH HƯỚNG ĐỐI TƯỢNG
Bài 3 Các phép toán – khai báo hằng
Nội dung
Các phép toán trên các kiểu dữ liệu cơ
bản
Kiểu liệt kê (enumeration)
Hằng

Các phép toán -Operators
Tạo 1 project mới để thử nghiệm các phép toán

Đặt tên cho tập tin class này . Ví dụ OperarorDemo.cs


Nhập thử chương trình sau
namespace Example1
{
class OperatorDemo
{
static void Main(string[] args)
{
float a = 5.5f;
float b = 2.0f;
float c;
int i = 7;
int j = 2;
int k;

c = a + b;
Console.WriteLine("c = {0}",c);


int i = 7;
int j = 2;
int k;
k = i / j;
Console.WriteLine("k is {0}",k}

Kết quả in ra :
k is 3

Phép chia 7/2 cho kết quả là 3.

int i = 7;
int j = 2;
double d;
d = i / j;

System.Console.WriteLine(d); /////????

Phép chia lấy phần dư

Phép chia lếy phần dư : Áp dụng cho 2
số nguyên.

Ký hiệu : %

Ví dụ

7 % 2 = 1



d = d * 2.0;
d = d - 5.0;

C# cung cấp nhiều phép toán tự gán như +=,
-=, *=, /=

Ví dụ Dùng phép toán tự gán

d = d * 2.0; d *= 2.0;

d = d + 7.0; d += 7.0;

d = d - 5.0; d -= 5.0;

d = d / 2.0; d /= 2.0;

Ví dụ

using System;
namespace Example3
{
class ShortHandExample
{
static void Main(string[] args)
{
int i = 2;
i += 2;
Console.WriteLine("i is {0}",i);
i *= 3;

Lý do : Độ ưu tiên của các toán tử

Ghi nhớ PEMDAS. : các phép toán có độ ưu tiên
theo qui tắc sau:
parenthesis exponents multiplication division
addition subtraction
Xem lại ví dụ
5 * 2 + 6 * 3
Phép nhân có độ ưu tiên cao hơn.
10 + 18
Sau đó thi hành phép cộng.
28

• Sử dụng dấu ( và ) để thay đổi thứ tự tính toán.
5 * ( 2 + 6 ) * 3
5 * 8 * 3
40 * 3
120

Xem ví dụ sau.
4 * 3 / 2
Có thể là
4 * 3 / 2
4 * 1
4
Có thể là
4 * 3 / 2
12 / 2
6


float b = 16.0f;
Console.WriteLine("a = {0}", a);
a++;
Console.WriteLine("a = {0}", a);
a ;
Console.WriteLine("a = {0}", a);
Console.WriteLine("b = {0}", b);
b++;
Console.WriteLine("b = {0}", b);
b ;
Console.WriteLine("b = {0}", b);


Kết quả:
a = 5
a = 6
a = 5
b = 16.0
b = 17.0
b = 16.0

Toán tử ++ av2 – có thề đi trước hay sau 1 biến
Postfix: a++, a
Prefix: ++a, a
int a = 5, b;
b = a++;

Sau phép gán thì b = 5, a = 6;
int a = 5, b;
b = ++a;

enum Days {Sun, Mon, Tue, Wed, Thu, Fri, Sat}

Ngầm định : tên đầu tiên trong tập liệt kê có giá trị là 0.
Các giá trị kế tiếp tự động tăng lên 1. Trong ví dụ trên
Sun = 0, Mon = 1, Tue = 2, và tiếp theo.

Có khả năng thiết lập giá trị cho từng phần tử trong tập
liệt kê.

enum Days {Sun = 1, Mon, Tue, Wed = 57, Thu, Fri, Sat}


Trong ví dụ trên Sun = 1, Mon = 2, Tue =
3, Wed = 57, Thu = 58, Fri = 59, Sat =
60

Cũng có thể gán 1 giá trị cho nhiều phần
tử khác nhau trong 1 tập liệt kê.

enum Days {Sat = 0, Sun = 0, Mon, Tue, Wed, Thu,
Fri}
• Sat=0,Sun=0, Mon=1,Tue=2,….Fri=5.
• Ngầm định : các phần tử trong tập liệt kê
tương ứng với 1 giá trị kiểu int . Tuy vậy,
có thể sử dụng 1 kiểu nguyên khác.

enum Days {Sun, Mon, Tue, Wed, Thu, Fri, Sat}????//int
enum Days : int {Sun, Mon, Tue, Wed, Thu, Fri,
Sat}????//tương đương
enum Days : short {Sun, Mon, Tue, Wed, Thu, Fri, Sat}

Days dayOfWeek;
dayOfWeek = Days.Sun;
Console.WriteLine("The day of the week is
{0}",dayOfWeek);
dayOfWeek = Days.Fri;
Console.WriteLine("The day of the week is
{0}",dayOfWeek);
Console.WriteLine("Friday has value {0}",(int) dayOfWeek);
} } }


Kết quả in ra :
The day of the week is Sun
The day of the week is Fri
Friday has value 6

Ngầm định : Phương thức WriteLine sẽ
in ra tên phần tử trong kiểu liệt kê.
Trong ví dụ trên sẽ in ra Sun và Fri , chứ
không in ra 1 và 6.

Để in giá trị ứng với 1 phần tử kiểu liệt
kê, ta phải thực hiện ép kiểu.

Hằng - Constants

Thường có nhu cầu về việc thể hiện các
đại lương có giá trị không đổi trong khi
chương trình thi hành


Nhờ tải bản gốc
Music ♫

Copyright: Tài liệu đại học © DMCA.com Protection Status