运算符是一种告诉编译器执行特定的数学或逻辑操作的符号。C# 有丰富的内置运算符,分类如下:
- 赋值运算符
- 算术运算符
- 复合算术运算符
- 关系运算符
- 逻辑运算符
- 位运算符
- 其他运算符
本节我们将对上述赋值运算符、算术运算符和复合算术运算符进行讲解。
赋值运算符号
赋值运算符可以说是程序中最重要,但同时也是最基础的运算符。
- 符号是
=
- 功能是:将符号右边的值或者结果等赋值给符号左边的变量
- 要求:左边必须是变量
实例演示:
int a;
int b;
//将等号右边的10赋值给左边的变量a,
a = 10;
b = 20;
//将等号右边的运算结果30赋值给左边的变量a,
a = 10+20;
//将等号右边的运算结果30赋值给左边的变量a,
a = 10 + b;
//先获取a的值为30
//将等号右边的运算结果40再赋值给左边的变量a,
//a最终的结果为40
a = a + 10;
//先获取a的值为40
//再获取b的值为20
//将等号右边的运算结果60再赋值给左边的变量a,
//a最终的结果为60
a = a + b;
算术运算符
算术运算符对数据进行算术运算, 运算符有:+、-、*、/、%、++、--
加法运算(+
)
加法运算,将两个项进行相加;项可以是常量、变量以及运算结果, 如下演示:
int a = 10, b = 20;
int c = 10+20; //两个常量相加
c = a + 10; //常量与变量相加
c = a + b; //变量与变量相加
减法运算(-
)
减法运算,将两个项进行相减;项可以是常量、变量以及运算结果, 如下演示:
int a = 10, b = 20;
int c = 10-20; //两个常量相减
c = a - 10; //常量与变量相减
c = a - b; //变量与变量相减
乘法运算(*
)
乘法运算,将两个项进行相乘;程序中乘法的符号是星号(*
), 与数学中的乘法符号✖️
不一样,需要引起注意。项可以是常量、变量以及运算结果, 如下演示:
int a = 10, b = 20;
int c = 10*20; //两个常量相乘 结果为200
c = a * 10; //常量与变量相乘 结果为100
c = a * b; //变量与变量相乘 结果为200
除法运算(/
)
除法运算,将两个项进行相除;程序中除法的符号是斜杠(/
), 与数学中的乘法符号➗
不一样,需要引起注意。项可以是常量、变量以及运算结果, 如下演示:
float a = 10, b = 20;
float c = 10.0/20.0; //两个常量相除 结果为0.5
c = a / 10; //常量与变量相除 结果为1.0
c = a / b; //变量与变量相除 结果为1.0
c = 10/20 //变量与变量相除 结果为0.0
注意:我看到上面实例中最后一个,结果可能和我们预期的0.5不一样。这是因为对于除法, 如果两边都为整数时,结果为取整
取余运算(%
)
取余数运算, 求前一个项相对于后一项的余数。需要引起注意,取余数运算的两边都必须为整数, 只有整数才有余数。实例如下:
int a = 10, b = 20;
int c = 10%20; //两个常量相除 结果为10
c = a % 10; //常量与变量相除 结果为0
c = a % b; //变量与变量相除 结果为10
c = 31 % 20; //变量与变量相除 结果为11
自增/自减(++、--
)
自增/自减运算是单目运算,即只对一项进行运算,被运算的项必须是变量
, 变量可以在符号的前面, 也可以在符号的后面。运算方式是对变量进行+1/-1操作,实例如下:
//自增
int a = 10;
a++; //对a做+1操作, 结果a为11
a = 10;
++a; //对a做+1操作, 结果a为11
//自减
int a = 10;
a--; //对a做-1操作, 结果a为9
a = 10;
--a; //对a做-1操作, 结果a为9
注意:当自增/自减单独存在时, 变量在前和在后效果是一样对。但是,如果自增/自减是在运算中, 则在前和在后是不一样对, 下面是对应实例:
//////////////////////////////////自增
int a = 10;
int c = 10 + (a++);
//最后c的值为20, a的值为11
//c = 10 + (a++); 等价于 c = 10 + a; a++;
a = 10;
c = 10+(++a);
//最后c的值为21, a的值为11
//c = 10 + (a++); 等价于 a++; c = 10 + a;
//////////////////////////////////自减
a = 10;
c = 10 + (a--);
//最后c的值为20, a的值为9
//c = 10 + (a++); 等价于 c = 10 + a; a--;
a = 10;
c = 10+(--a);
//最后c的值为19, a的值为9
//c = 10 + (a++); 等价于 a--; c = 10 + a;
注意:通过上面实例我们可以看出, 当自增/自减参与运算时,如果变量在符号前,则先让变量参与运算,然后变量在自增/自减;如果变量在符号后, 则先让变量自增/自减, 然后在让变量参与运算
复合算术运算符
复合算术运算符是特殊的算术运算, 算是算术运算的一种简化版本,复合算术运算符有:+=、-=、*=、/=、%=;
运算法则与算术运算法则相同, 实际使用如下:
int a = 10, b = 20;
a += 10; //最后a的值为20, 等价于 a = a + 10;
a -= 10; //最后a的值为10, 等价于 a = a - 10;
b *= 10; //最后b的值为200, 等价于 b = b * 10;
b /= 10; //最后b的值为20, 等价于 b = b / 10;
a %= 8; //最后a的值为2, 等价于 a = a % 8;
欢迎大家踊跃评论,让我们一起探讨技术!!
如果觉得文章不错,请帮忙点击文章下方的喜欢
!!
你的支持将是对我最好的鼓励, 谢谢!!!