概述
前面几节,我们已经学习过C#语言中几种运算符的知识。在C#语言中,运算符又有不同的优先级,它是用来描述计算机进行表达式运算时执行运算的先后顺序。先执行具有较高优先级的运算,然后执行较低优先级的运算。例如,乘除运算符具有比加减运算符更高的优先级。
比如计算:x = 7 + 3 * 2
这个运算表达式。在这里,x
被赋值为 13,而不是 20,因为乘运算符(*
)具有比加运算符(+
)更高的优先级,所以先计算乘法3*2
,然后再加上 7。
下表将按运算符优先级从高到低列出各个运算符,具有较高优先级的运算符出现在表格的上面,具有较低优先级的运算符出现在表格的下面。在表达式中,较高优先级的运算符会优先被计算。
类别 | 运算符 | 结合性 |
---|---|---|
后缀 | () [] -> . ++ - - | 从左到右 |
一元 | + - ! ~ ++ - - (type)* & sizeof | 从右到左 |
乘除 | * / % | 从左到右 |
加减 | + - | 从左到右 |
移位 | << >> | 从左到右 |
关系 | < <= > >= | 从左到右 |
相等 | == != | 从左到右 |
位与 AND | & | 从左到右 |
位异或 XOR | ^ | 从左到右 |
位或 OR | | | 从左到右 |
逻辑与 AND | && | 从左到右 |
逻辑或 OR | || | 从左到右 |
条件 | ?: | 从右到左 |
赋值 | = += -= *= /= %=>>= <<= &= ^= |= | 从右到左 |
逗号 | , | 从左到右 |
以下是一个C#语言中运算符优先级的代码示例程序:
using System;
namespace ConsoleApp1
{
internal static class Program
{
private static void Main(string[] args)
{
int x = 20, y = 5, z = 4;
int result = x / y + z;
Console.WriteLine("Result1: " + result);
bool result2 = z <= y + x;
Console.WriteLine("Result2: " + result2);
x += 6;
int result3 = (x + y) * (x - z);
Console.WriteLine("Result3: " + result3);
int result4 = (x / (y + z)) * z;
Console.WriteLine("Result4: " + result4);
Console.ReadLine();
}
}
}
输入结果为:
发表评论
登录用户才能发表评论, 请 登 录 或者 注册