C# - C Sharp: Độ ưu tiên phép toán


Khóa học qua video:
Lập trình Python All Lập trình C# All SQL Server All Lập trình C All Java PHP HTML5-CSS3-JavaScript
Đăng ký Hội viên
Tất cả các video dành cho hội viên

1. Phép toán Số học:

Các phép toán số học sẽ có sự ưu tiên thực hiện được thể hiện dưới đây:

+ Các phép Đảo dấu (-), ++ và -- được thực hiện trước tiên (đây là những phép toán một ngôi).

+ Sau đó đến các phép *, / và %. Các phép toán này đều ngang hàng, trong biểu thức thì chúng được thực hiện theo thứ tự từ trái sang phải. 

+ Rồi đến các phép + và - (phép Trừ).

+ Sau cùng là phép Gán (=).

Ví dụ:

-8 * 4 % 2 - 3 + 6.0 / 12
[-8] * 4 % 2 - 3 + 6.0 / 12
[-8 * 4] % 2 - 3 + 6.0 / 12
[-32 % 2] - 3 + 6.0 / 12
0 - 3 + [6.0 / 12]
[0 - 3] + 0.5
[-3 + 0.5]
-2.5

2. Phép toán Logic:

Mức độ ưu tiến của các phép toán Logic được thể hiện như dưới đây:

! : có mức ưu tiên cao nhất (được thực hiện trước tiên)

&& : có mức ưu tiên sau !

|| : có mức ưu tiên sau &&

Trong trường hợp có nhiều phép toán Logic giống nhau trong một biểu thức điều kiện, thì ta áp dụng quy tắc tính từ phải sang trái.

Ví dụ:

False || True && !False && True
False || True && [!False] && True
False || True && [True && True]
False || [True && True]
[False || True]
True

3. Độ ưu tiên giữa các loại phép toán:

Mỗi loại phép toán khác nhau lại có mức ưu tiên khác nhau. Mức ưu tiên sẽ được thể hiện như dưới đây:

Các phép toán Số học sẽ được ưu tiên thực hiện trước

Sau đó đến các phép toán So sánh (hay phép toán diều kiện hoặc quan hệ)

Sau đó đến các phép toán Logic

Số học > So sánh > Logic

Ví dụ :

2*3+4/2 > 3 && 3<5 || 10<9
[2*3+4/2] > 3 && 3<5 || 10<9
[[2*3]+[4/2]] > 3 && 3<5 || 10<9
[6+2] >3 && 3<5 || 10<9
[8 >3] && [3<5] || [10<9]
True && True || False
[True && True] || False
True || False
True

4. Thay đổi độ ưu tiên:

Nếu muốn thay đổi độ ưu tiên bạn sử dụng cặp ngoặc tròn () bao ngoài phần biểu thức muốn tính toán trước.

Lưu ý: nếu có nhiều cặp ngoặc tròn lồng nhau thì biểu thức nằm trong cặp ngoặc tròn nằm trong cùng sẽ được thực hiện trước tiên.

Ví dụ :

5+9*3-4 > 10 && (2+2^4-8/4 > 6 || (2<6 && 10>11))
5+9*3-4 > 10 && (2+2^4-8/4 > 6 || ([2<6 && 10>11]))
5+9*3-4 > 10 && (2+2^4-8/4 > 6 || ([True && False]))
5+9*3-4 > 10 && ([2+2^4-8/4 > 6 || False])
5+9*3-4 >10 && ([2+16-8/4 > 6 || False])
5+9*3-4 > 10 && ([2+16-2 > 6 || False])
5+9*3-4 > 10 && ([18-2 > 6 || False])
5+9*3-4 > 10 && ([16 > 6 || False])
5+9*3-4 > 10 && ([True || False])
[5+9*3-4] > 10 && True
[5+27-4] >10 && True
[32-4>10 && True
[28 >10] && True
True && True
True 
» Tiếp: if-else
« Trước: Phép toán logic nhị phân
Khóa học qua video:
Lập trình Python All Lập trình C# All SQL Server All Lập trình C All Java PHP HTML5-CSS3-JavaScript
Đăng ký Hội viên
Tất cả các video dành cho hội viên
Copied !!!