背景:
因编程的基础差,因此最近开始巩固学习C#基础,后期把自己学习的东西,总结相应文章中,有不足处请大家多多指教。
1. 简介
运算符是一种告诉编译器执行特定的数学或逻辑操作的符号。C# 有丰富的内置运算符,分类如下:
- 算术运算符
- 关系运算符
- 逻辑运算符
- 复合赋值运算符
- 位运算符
- 其他运算符
本文章将逐一讲解算术运算符、关系运算符、逻辑运算符、复合赋值运算符。
2. 算法运算符
算术预算符又分为一元运算符和二元运算符。
- 一元:++、--、+、-
- 二元:*、/、%、+、-
对于向加加或者减减这样只需要一个操作数就能完成的运算,称为一元运算符。
+ 、-、 *、 /、 %、对于这些需要两个或以上才能完成运算操作符,称为二元运算符。
运算符 |
描述 |
+ |
加运算符 |
- |
减运算符 |
++ |
增量运算符 |
-- |
减量运算符 |
* |
乘法运算符 |
/ |
除法运算符 |
% |
余数运算符 |
优先级
一元的运算符的优先级要高于二元的运算符。
如果在一个表达式当中,既有一元运算符,又有二元运算符,我们要先计算一元运算符。
实例
1. 加加
int number = 10; number++; ++number;//number=number+1; Console.WriteLine(number); Console.ReadKey();
2. 减减
int number = 10; number--; --number; Console.WriteLine(number); Console.ReadKey();
3.练习题
int a = 5; int b = a++ + ++a * 2 + --a + a++; // 5+7*2+6+6 7 Console.WriteLine(a); Console.WriteLine(b); Console.ReadKey()
//最后输出结果a=7,b=31
总结:++:分为前++和后++,不管是前++还是后++,最终结果都是给这个变量加—;
区别:表达式当中,如果是前++,则是给自身加一,然后带着加一后的值参与运算。
--:同上
3. 关系运算符
关系运算符是用来描述两个事物之间的关系,由关系运算符连接的表达式称之为关系表示式。
运算符 |
描述 |
== |
相等 |
!= |
不等于 |
> |
大于 |
< |
小于 |
>= |
大于等于 |
<= |
小于等于 |
bool类型
关系运算符用bool类型表示;
在C#中我们用bool类型描述对或者错,bool类型的值只有两个 ,true、false
实例
// 大象的重量(1500)>老鼠的重量(1) //关系表达式的结果是bool类型 // bool b = 1500 > 1; // bool b = 3 > 1000; // bool b = 39 < 18; bool b = 20 == 20; Console.WriteLine(b); Console.ReadKey(); //兔子的寿命(3)>乌龟的寿命(1000) //39<18 //我的年龄(20)==你的年龄(20)
4. 逻辑运算符
又逻辑运算符连接的表达式叫做逻辑表达式,逻辑运算符两边的一般都是关系表达式或者bool类型的值。
运算符 |
描述 |
&& |
逻辑与运算符 |
|| |
逻辑或运算符 |
! |
逻辑非运算符 |
实例
//让用户输入老苏的语文和数学成绩,输出以下判断是否正确,正确输出True,错误输出False //1)老苏的语文和数学成绩都大于90分 Console.WriteLine("小苏,输入你的语文成绩"); //string strChinese = Console.ReadLine(); int chinese = Convert.ToInt32(Console.ReadLine()); Console.WriteLine("小苏,请输入你的数学成绩"); int math = Convert.ToInt32(Console.ReadLine()); //2)语文和数学有一门是大于90分的 bool b = chinese > 90 || math > 90; Console.WriteLine(b); Console.ReadKey()
用法解释
逻辑运算符两边放的一般都是关系表达式或者bool类型的值。
5>3 &&true
3>5||false
!表达式
逻辑表达式的结果同样也是bool类型
逻辑与 &&
表达式1&&表达式2
表达式1 |
表达式2 |
表达式1&&表达式2 |
True |
True |
True |
False |
True |
False |
True |
False |
False |
False |
False |
false |
逻辑或 ||
表达式1||表达式2
表达式1 |
表达式2 |
表达式1||表达式2 |
True |
True |
True |
True |
False |
True |
False |
True |
True |
False |
False |
false |
逻辑非 !
!表达式
表达式 |
!表达式 |
True |
False |
False |
true |
5. 复合赋值运算符
下表列出了 C# 支持的赋值运算符:
运算符 |
描述 |
实例 |
= |
简单的赋值运算符,把右边操作数的值赋给左边操作数 |
C = A + B 将把 A + B 的值赋给 C |
+= |
加且赋值运算符,把右边操作数加上左边操作数的结果赋值给左边操作数 |
C += A 相当于 C = C + A |
-= |
减且赋值运算符,把左边操作数减以右边操作数的结果赋值给左边操作数 |
C -= A 相当于 C = C - A |
*= |
乘且赋值运算符,把右边操作数乘以左边操作数的结果赋值给左边操作 |
C *= A 相当于 C = C * A |
/= |
除且赋值运算符,把左边操作数除以右边操作数的结果赋值给左边操作数 |
C /= A 相当于 C = C / A |
%= |
求模且赋值运算符,求两个操作数的模赋值给左边操作数 |
C %= A 相当于 C = C % A |
<<= |
左移且赋值运算符 |
C <<= 2 等同于 C = C << 2 |
>>= |
右移且赋值运算符 |
C >>= 2 等同于 C = C >> 2 |
&= |
按位与且赋值运算符 |
C &= 2 等同于 C = C & 2 |
^= |
按位异或且赋值运算符 |
C ^= 2 等同于 C = C ^ 2 |
|= |
按位或且赋值运算符 |
C |= 2 等同于 C = C | 2 |
实例:
int number=10; //1.+= : number+=20; number=number+20;
//2. -=: number-=5; number=number-5;
//3. *=: number*=5; number=number*5;
//4. /=: number/=5; //5. %=:
number%=5;