C# 运算符学习笔记
算术运算符
C# 中的算术运算符包括加法 +
、减法 -
、乘法 *
、除法 /
、取模 %
和自增自减运算符 ++
和 --
。它们可以对数值类型进行基本的四则运算以及自增自减操作。
下面是一些使用算术运算符的示例:
csharpCopy Codeint a = 10;
int b = 3;
int c = a + b; // c 的值为 13
int d = a - b; // d 的值为 7
int e = a * b; // e 的值为 30
double f = (double)a / (double)b; // f 的值为 3.3333
int g = a % b; // g 的值为 1
int h = a++; // h 的值为 10,a 的值为 11
int i = --b; // i 的值为 2,b 的值为 2
比较运算符
C# 中的比较运算符包括等于 ==
、不等于 !=
、大于 >
、小于 <
、大于等于 >=
和小于等于 <=
。它们可以用来比较两个数值类型的数值大小,并返回一个布尔值。
下面是一些使用比较运算符的示例:
csharpCopy Codeint a = 10;
int b = 3;
bool c = a == b; // c 的值为 false
bool d = a != b; // d 的值为 true
bool e = a > b; // e 的值为 true
bool f = a < b; // f 的值为 false
bool g = a >= b; // g 的值为 true
bool h = a <= b; // h 的值为 false
逻辑运算符
C# 中的逻辑运算符包括与 &&
、或 ||
、非 !
。它们可以用来组合多个布尔表达式,形成复杂的逻辑判断。
下面是一些使用逻辑运算符的示例:
csharpCopy Codeint a = 10;
int b = 3;
bool c = (a > b) && (a % 2 == 0); // c 的值为 false
bool d = (a < b) || (a % 2 == 0); // d 的值为 true
bool e = !(a < b); // e 的值为 true
位运算符
C# 中的位运算符包括按位与 &
、按位或 |
、按位异或 ^
、按位取反 ~
、左移 <<
和右移 >>
。它们可以对整数类型的数据进行位操作。
下面是一些使用位运算符的示例:
csharpCopy Codeint a = 10; // 1010
int b = 3; // 0011
int c = a & b; // c 的值为 2(0010)
int d = a | b; // d 的值为 11(1011)
int e = a ^ b; // e 的值为 9(1001)
int f = ~a; // f 的值为 -11(11111111111111111111111111110101)
int g = a << 1; // g 的值为 20(10100)
int h = a >> 1; // h 的值为 5(0101)
赋值运算符和运算符优先级
除了上述四种运算符之外,C# 还提供了赋值运算符 =
、复合赋值运算符 +=
、-=
、*=
、/=
、%=
、&=
、|=
、^=
、<<=
和 >>=
。赋值运算符用于将右边的表达式的值赋给左边的变量;而复合赋值运算符则可以将算术运算符和位运算符与赋值运算符结合起来。
例如:
csharpCopy Codeint a = 10;
a += 5; // 等价于:a = a + 5;
a *= 2; // 等价于:a = a * 2;
a <<= 1; // 等价于:a = a << 1;
在使用多个运算符时,需要注意运算符优先级。C# 中的运算符优先级与数学中的优先级相同,乘除法优于加减法,括号可以改变运算符的优先级。
例如:
csharpCopy Codeint a = 10;
int b = 3;
int c = 5;
int d = (a + b) * c; // d 的值为 65