-
操作符列表
- 算术操作符:
+
(加法)、-
(减法)、*
(乘法)、/
(除法)、%
(取余) - 关系操作符:
==
(等于)、!=
(不等于)、>
(大于)、>=
(大于等于)、<
(小于)、<=
(小于等于) - 逻辑操作符:
&&
(逻辑与)、||
(逻辑或)、!
(逻辑非) - 赋值操作符:
=
(简单赋值)、+=
、-=
、*=
、/=
、%=
、&=
、|=
、^=
、<<=
、>>=
(复合赋值) - 位操作符:
&
(按位与)、|
(按位或)、^
(按位异或)、~
(按位取反)、<<
(左移)、>>
(右移)
- 算术操作符:
-
详细说明
算术操作符
- 加法(+)
- 功能:用于将两个操作数相加。操作数可以是整数、浮点数、字符(将字符对应的Unicode码值相加)、字符串(用于字符串拼接)等。
- 示例:
- 整数相加:
int a = 3; int b = 5; int c = a + b; // c的值为8
- 浮点数相加:
double d1 = 2.5; double d2 = 3.5; double sum = d1 + d2; // sum的值为6.0
- 字符相加:
char ch1 = 'A'; int ch2 = 1; char result = (char)(ch1 + ch2); // result的值为'B',因为'A'的Unicode码值加1得到'B'的Unicode码值
- 字符串拼接:
string str1 = "Hello"; string str2 = " World"; string str3 = str1 + str2; // str3的值为"Hello World"
- 整数相加:
- 减法(-)
- 功能:计算两个操作数的差。适用于整数和浮点数。
- 示例:
int x = 7; int y = 3; int difference = x - y; // difference的值为4
double d3 = 5.0; double d4 = 2.0; double sub = d3 - d4; // sub的值为3.0
- 乘法(*)
- 功能:求两个操作数的乘积。操作数可以是整数或浮点数。
- 示例:
int m1 = 4; int m2 = 6; int product = m1 * m2; // product的值为24
double p1 = 3.0; double p2 = 4.0; double multiply = p1 * p2; // multiply的值为12.0
- 除法(/)
- 功能:进行两个操作数的除法运算。对于整数相除,如果不能整除,结果会舍去小数部分;对于浮点数相除,则会得到精确的商。
- 示例:
- 整数除法:
int div1 = 7 / 2; // div1的值为3
- 浮点数除法:
double div2 = 7.0 / 2.0; // div2的值为3.5
- 整数除法:
- 取余(%)
- 功能:计算除法运算的余数。主要用于整数,对于浮点数虽然语法允许,但实际应用场景较少。
- 示例:
int remainder = 10 % 3; // remainder的值为1
关系操作符
- 等于(==)
- 功能:比较两个操作数是否相等。可以用于比较基本数据类型(如整数、浮点数、布尔型、字符等)和引用数据类型(比较的是引用是否指向同一个对象)。
- 示例:
- 基本数据类型比较:
bool equal1 = (5 == 5); // equal1的值为true
- 引用数据类型比较(以字符串为例):
string s1 = "abc"; string s2 = "abc"; bool equal2 = (s1 == s2); // equal2的值为true,因为在C#中字符串字面量相同会指向同一个对象(在某些情况下)
- 基本数据类型比较:
- 不等于(!=)
- 功能:判断两个操作数是否不相等。
- 示例:
bool notEqual = (3!= 4); // notEqual的值为true
- 大于(>)
- 功能:检查左边的操作数是否大于右边的操作数。适用于整数、浮点数等有序数据类型。
- 示例:
bool greater = (7 > 5); // greater的值为true
- 大于等于(>=)
- 功能:判断左边的操作数是否大于或等于右边的操作数。
- 示例:
bool greaterOrEqual = (5 >= 5); // greaterOrEqual的值为true
- 小于(<)
- 功能:确定左边的操作数是否小于右边的操作数。
- 示例:
bool less = (3 < 4); // less的值为true
- 小于等于(<=)
- 功能:检查左边的操作数是否小于或等于右边的操作数。
- 示例:
bool lessOrEqual = (4 <= 4); // lessOrEqual的值为true
逻辑操作符
- 逻辑与(&&)
- 功能:对两个布尔表达式进行逻辑与运算。只有当两个表达式都为
true
时,结果才为true
;如果第一个表达式为false
,不会再计算第二个表达式(短路求值)。 - 示例:
bool result1 = (5 > 3 && 2 < 4); // result1的值为true
bool result2 = (false && true); // result2的值为false
- 功能:对两个布尔表达式进行逻辑与运算。只有当两个表达式都为
- 逻辑或(||)
- 功能:对两个布尔表达式进行逻辑或运算。只要两个表达式中有一个为
true
,结果就为true
;如果第一个表达式为true
,不会再计算第二个表达式(短路求值)。 - 示例:
bool result3 = (5 > 6 || 3 < 4); // result3的值为true
bool result4 = (false || false); // result4的值为false
- 功能:对两个布尔表达式进行逻辑或运算。只要两个表达式中有一个为
- 逻辑非(!)
- 功能:对一个布尔表达式进行逻辑非运算。如果原表达式为
true
,结果为false
;如果原表达式为false
,结果为true
。 - 示例:
bool result5 =!(5 == 6); // result5的值为true
- 功能:对一个布尔表达式进行逻辑非运算。如果原表达式为
赋值操作符
- 简单赋值(=)
- 功能:将右边表达式的值赋给左边的变量。
- 示例:
int num = 10; // 将10赋值给num变量
- 复合赋值(以 += 为例,其他类似)
- 功能:先对左边的变量和右边的表达式进行指定的算术或位运算,然后将结果赋值给左边的变量。例如,
a += b
等价于a = a + b
。 - 示例:
int var1 = 5; var1 += 3; // 等价于var1 = var1 + 3,此时var1的值为8
double var2 = 2.0; var2 *= 3.0; // 等价于var2 = var2 * 3.0,此时var2的值为6.0
- 功能:先对左边的变量和右边的表达式进行指定的算术或位运算,然后将结果赋值给左边的变量。例如,
位操作符
- 按位与(&)
- 功能:对两个整数操作数的二进制位进行与运算。只有当两个操作数的对应位都为1时,结果位才为1,否则为0。
- 示例:
int bit1 = 5; // 二进制为0101
int bit2 = 3; // 二进制为0011
int resultBit = bit1 & bit2; // 结果为0001,即1
- 按位或(|)
- 功能:对两个整数操作数的二进制位进行或运算。只要两个操作数的对应位中有一个为1,结果位就为1。
- 示例:
- 以上面的
bit1
和bit2
为例,int resultOr = bit1 | bit2; // 结果为0111,即7
- 以上面的
- 按位异或(^)
- 功能:对两个整数操作数的二进制位进行异或运算。当两个操作数的对应位不同时,结果位为1,相同时为0。
- 示例:
- 还是以
bit1
和bit2
为例,int resultXor = bit1 ^ bit2; // 结果为0110,即6
- 还是以
- 按位取反(~)
- 功能:对一个整数操作数的二进制位进行取反运算。0变为1,1变为0。
- 示例:
int bit3 = 5; // 二进制为0101
int resultNot = ~bit3; // 结果为1010,对于有符号整数,在补码表示下为 - 6
- 左移(<<)
- 功能:将一个整数操作数的二进制位向左移动指定的位数。左边移出的位被丢弃,右边补0。
- 示例:
int numLeft = 2; // 二进制为0010
int resultLeft = numLeft << 1; // 向左移1位,结果为0100,即4
- 右移(>>)
- 功能:将一个整数操作数的二进制位向右移动指定的位数。对于无符号整数,左边补0;对于有符号整数,左边补符号位。
- 示例:
int numRight = 4; // 二进制为0100
int resultRight = numRight >> 1; // 向右移1位,结果为0010,即2
int signedNum = -4; // 二进制为1100(补码表示)
int signedResultRight = signedNum >> 1; // 向右移1位,结果为1110(补码表示),即 - 2
- 加法(+)
C# 操作符:算术、关系、逻辑、赋值、位操作符
于 2024-11-23 22:23:46 首次发布