摘要
C#中常用的运算符可以分为7个等级,分别是单元运算符和括号、常规算术运算符、位移运算符、比较运算符、逻辑运算符、各种赋值运算符以及右位(后缀)单元运算符。这些运算符的优先级不同,因此在编写程序时需要注意它们的使用方法和顺序。
- 单元运算符和括号:在C#中,单元运算符和括号是用于改变表达式的结构和语法的关键符号。它们的优先级比较低,因此在表达式中出现的位置通常是最后的。例如,括号用于分组,使表达式更容易理解和维护。
- 常规算术运算符:常规算术运算符包括加、减、乘、除、取余和自增/自减运算符。它们的优先级较高,通常在表达式中排在单元运算符和括号之后。例如,两个数相加或相减时,先执行算术运算符,然后再执行其他运算符。
- 位移运算符:位移运算符包括左移和右移运算符,它们的优先级比较高。在进行位移运算时,需要注意二进制表示法和左移右移运算符的顺序。
- 比较运算符:比较运算符用于比较两个值的大小或关系。它们的优先级较高,通常在常规算术运算符和位移运算符之后。例如,等于运算符、大于运算符、小于运算符和不等于运算符等。
- 逻辑运算符:逻辑运算符用于组合多个布尔表达式。它们的优先级较高,通常在比较运算符之后。例如,与运算符、或运算符和非运算符等。
- 各种赋值运算符:赋值运算符用于给变量或常量赋值。它们的优先级较低,通常在常规算术运算符和位移运算符之后。例如,等于运算符、+=、-=、*=和/=等。
- 右位(后缀)单元运算符:右位(后缀)单元运算符用于将数值存储
正文
第1级:++、--(做为前缀)、()、+、-(做为单元运算符时)、!、~。
第2级:*、/、%、+、-。
第3级:<<、>>。
第4级:<、>、<=、>=、==、!=。
第5级:&、^、|、&&、||。
第6级:=、*=、/=、%=、+=、-=、<<=、>>=、&=、^=、|=。
第7级:++、--(做为后缀)。
int a = 20;
int b = 10;
int c = 15;
int d = 5;
int e;
e = (a + b) * c / d;
Console.WriteLine("(a + b) * c / d 的值是 {0}", e);
e = ((a + b) * c) / d;
Console.WriteLine("((a + b) * c) / d 的值是 {0}", e);
e = (a + b) * (c / d);
Console.WriteLine("(a + b) * (c / d) 的值是 {0}", e);
e = a + (b * c) / d;
Console.WriteLine("a + (b * c) / d 的值是 {0}", e);
Console.ReadLine();
image.png
int i = 10;
int j = 11;
/*i++
i>j?i:j
i+=
*/
int result = i += i++ > j ? i : j;
Console.WriteLine(result);
image.png
int i = 10;
int j = 11;
/*i++
i+=
i>j?i:j
*/
int result = (i += i++) > j ? i : j;
Console.WriteLine(result);
image.png
int x, y, z;
x = y = z = 5;
//x=(y=(z=5))
Console.WriteLine(x);
Console.WriteLine(y);
Console.WriteLine(z);
int x = 10;
//(x++)+a
int y=x+++x;
Console.WriteLine(y);
网友评论