Tìm kiếm

Toán tử trong C#



I. Định nghĩa: C# có một tập hợp các toán tử phong phú. Toán tử là công cụ dùng để thao tác dữ liệu . Một toán tử là một ký hiệu dùng để đại diện cho một thao tác cụ thể nào đó được thực hiện trên dữ liệu.

II. Phân loại:

Với toán tử tớ sẽ chia nó ra thành 5 loại cơ bản như sau:


II.I. Toán tử số học:
Ngôn ngữ C# cung cấp cho chúng ta 5 toán tử toán học bao gồm bốn toán tử đầu các phép toán cơ bản. Toán tử cuối cùng là toán tử chia nguyên lấy phần dư.
Các phép toán này không thể thiếu trong bất cứ ngôn ngữ lập trình nào, C# cũng không ngoại lệ, các phép toán số học đơn giản nhưng rất cần thiết bao gồm: phép cộng (+), phép trừ (-), phép nhân (*), phép chia (/) nguyên.
Để tìm phần dư của phép chia nguyên, chúng ta sử dụng toán tử chia lấy dư (%).
Vd khi ta thực hiện phép chia 5/2 thì kết quả sẽ thu được là 1 (đây là phần dư còn lại của phép chia nguyên). Trong vòng lặp thì điều này là rất hữu dụng khi muốn thực hiện một công việc nào đó cách khoảng n lần, ta chỉ cần kiểm tra phép chia dư n, nếu kết quả bằng 0 thì thực hiện công việc. Để hiểu rõ hơn về phép chia lấy phần dư này tớ sẽ có một vd sau đây:
Vd:


Visual C# Code:

using System;
using System.Collections.Generic;
using System.Text;

namespace ConsoleApplication20
{
class Program
{
static void Main(string[] args)
{
for (int i = 0; i < 4; i++)
{
if (i %2 ==0)
{
Console.WriteLine(" so i chia het cho 2 la: {0} ", i);
}
else
{
//không in ra
}
}
Console.ReadLine();
}
}
}
Trong chương trình nó tìm xem trong khoảng i từ 0 đến 3 có số nào chia cho 2 dư 0 thì sẽ in ra còn những số chia cho 2 có dư khác 0 sẽ không được in ra.

II.II. Toán tử quan hệ:

Toán tử quan hệ được dùng để kiểm tra mối quan hệ giữa hai biến, hay giữa một biến và một hằng. Ví dụ việc xét số lớn hơn của hai số a và b được thực hiện thông qua dấu lớn hơn (>) giữa hai toán hạng a và b là (a>b). Bây giờ ta so sánh lớn hơn giữa 4 và 3. Ta có 4 > 3 là đúng thì sẽ trả về giá trị là true trong khi 3> 4 là sai thì trả về giá trị là false. Chúng ta sẽ cùng xem các toán tử quan hệ và ý nghĩa của chúng qua hình sau đây.



Tên toán tử
Kí hiệu
Biểu thức so sánh
Kết quả
So sánh bằng
==
Value1==100
Value1==50
True
False
Không bằng
!=
 Value2 !=100
Value2 !=50
False
True
Lớn hơn
Value1> value2
Value2> value1
True
False
Lơn hơn hoặc bằng
>=
Value2 >= 50
True
Nhỏ hơn
Value1
Value2
False
True
Nhỏ hơn hoặc bằng
<=
Value1<=value2
False

         Các toán tử so sánh (giả sử value1 = 100, và value2 = 50).


II.III. Toán tử tăng và giảm:

Khi sử dụng các biến số ta thường có thao tác là cộng một giá trị vào biến, trừ đi một giá trị từ biến đó, hay thực hiện các tính toán thay đổi giá trị của biến sau đó gán giá trị mới vừa tính toán cho chính biến đó.
Đối với toán tử này tớ sẽ chia ra làm 2 loại:
a. Tính toán và gán trở lại
Chúng ta sẽ có bảng mô tả các phép toán tự gán như sau:



Toán tử
 Ý nghĩa

+=
Cộng  thêm giá  trị   toán hạng bên phải
vào giá trị toán hạng bên trái


-=
Toán hạng bên trái được trừ bớt đi một
lượng bằng giá  trị  của  toán hạng bên
phải


*=
Toán hạng bên trái được nhân với một
lượng bằng giá  trị  của  toán hạng bên
phải.


/=
Toán hạng bên trái  được chia với  một
lượng bằng giá  trị  của  toán hạng bên
phải.


%=
Toán hạng bên trái được chia lấy dư với
một   lượng bằng giá  trị  của  toán hạng
bên phải.

                           Bảng mô tả các phép toán tự gán.



Ví dụ ta có một biến nguyên a có giá trị bằng 5. Giờ chúng ta muốn giảm giá trị của biến a bằng 3 ta làm như sau:
a = a – 2;
Trong câu lênh này phép trừ được thực hiện trước lấy giá trị của a là 5 trừ đi 2 bằng 3 và sau đó gán giá trị 3 cho biến a. Lúc này biến a sẽ có giá trị bằng 5. Các kiểu khác cũng tương tự. Và việc tăng hay giảm giá trị của một biến trong tính toán thương rất hay xảy ra.

Chú ý: chúng ta rất hay gặp một biến có giá trị được tăng hay giảm 1 và nó rất phổ biến trong lập trình và C# cung cấp cho chúng ta 2 toán tử đặc biết là tăng một (++) hay giảm một (--).
b. Toán tử tăng giảm tiền tố và tăng giảm hậu tố

Trong trường hợp chúng ta sử dụng các phép toán kết hợp như tăng một giá trị cho biến và sau đó gán giá trị của biến cho biến thứ 2. Vậy làm thế nào để xác định được việc nào thực hiện trước, việc nào thực hiện sau?
Để giải quyết yêu cầu trên C# cung cấp thứ tự thực hiện phép toán tăng/giảm với phép toán gán, thứ tự này được gọi là tiền tố (prefix) hay hậu tố (postfix).
Vd ta có: var1 = var2++; // Hậu tố.
var1 = ++var2; //Tiền tố.
Trong trường hợp tiền tố phép tăng sẽ được thực hiện trước và sau đó phép gán mới thực hiện. Và nó ngược lại với trường hợp hậu tố.
Để hiểu rõ hơn ta sẽ có một ví dụ nhỏ như sau:


Visual C# Code:

using System;
using System.Collections.Generic;
using System.Text;

namespace ConsoleApplication20
{
class Program
{
static void Main(string[] args)
{
int a = 5;
int b;
b = a++;
Console.WriteLine("Thuc hien tang sau: {0}, {1}",
a, b);
a = 5;
b = ++a;
Console.WriteLine("Thuc hien tang truoc: {0}, {1}",
a, b);
Console.ReadLine();
}
}
}
II.IV. Toán tử gán:
Đến lúc này toán tử gán khá quen thuộc với chúng ta, hầu hết các chương trình minh họa từ đầu đều đã sử dụng phép gán. Toán tử gán hay phép gán làm cho toán hạng bên trái thay đổi giá trị bằng với giá trị của toán hạng bên phải. Toán tử gán là toán tử hai ngôi. Đây là toán tử đơn giản nhất thông dụng nhất và cũng dễ sử dụng nhất.
ví dụ a = b;
II.V. Toán tử logic:
C# cung cấp cho chúng ta một tập hợp toán tử logic để phục vụ cho người lập trình.
Các bạn xem trong hình sau:


Tên toán tử
 Kí hiệu
Biểu thức logic
Giá trị
 Logic
And
&&
(x==3)&&(y==7)
False
Cả hai điều kiện phải đúng
Or
||
(x==3)||(y==7)
True
Chỉ cần một điều kiện đúng
Not
!
! (x==3)
True
Biểu thức trong ngoặc phải sai




Đôi khi chúng ta muốn kết hợp nhiều điều kiện với nhau như: bắt buộc cả hai hay nhiều điều kiện phải đúng hoặc chỉ cần một trong các điều kiện đúng là đủ hoặc không có điều kiện nào đúng...thì chúng ta phải dùng tới toán tử này.

Ngoài ra chúng ta cần biết thêm tới một loại toán tử nữa là toán tử ba ngôi(?.
Toán tử này sẽ xác định giá trị của một biểu thức điều kiện, và biểu thức điều kiện này phải trả về một giá trị kiểu bool. Có nghĩa là nếu điều kiện đúng thì làm công việc thứ nhất, còn ngược lại điều kiện sai thì làm công việc thứ hai.
Vd:

Visual C# Code:

using System;
using System.Collections.Generic;
using System.Text;

namespace ConsoleApplication20
{
class Program
{
static void Main(string[] args)
{
int a;
int b;
int max;
a = 5;
b = 8;
max = a > b ? a : b;
Console.WriteLine("gia tri lon nhat {0}", max);
Console.ReadLine();
}
}
}


Đây là bài toán tìm giá trị lớn nhất trong 2 số. Nếu a lớn hơn b thì giá trị lớn nhất là a còn sai thì b là giá trị lớn nhất. Đó là ý nghĩa của toán tử này.

Read Users' Comments (0)

0 Response to "Toán tử trong C#"

Đăng nhận xét

Support

Liên hệ DMTuan-Uneti
Mọi thông tin góp ý các bạn liên hệ với mình ! Mail:
  1. manhtuan.leo@gmail.com
  2. manhtuan.itvp@gmail.com

Y!M: manhtuan.it92