C#基础(四)--运算符及表达式

一、运算符
什么是运算符?
加减乘除这些,能将变量与变量之间连起来进行运算操作的符号
例如 a+b
+ - * /还有一个,叫%
百分号作为运算符是取余数
运算符的分类如下:
  • 算术运算符
  • 比较运算符
  • 逻辑运算符
  • 条件运算符
  • 赋值运算符
二、表达式
什么是表达式?
能让变量与变量之间进行运算得到结果的表达方式
例如:a=3;
这个就是一个表达式
将a赋值为3
int c=a+b;
这也是一个表达式
将c赋值为a+b的结果
现在我们来看看运算符的分类
三、算术运算符
运算符
表达式(int a=5;)
b的值
+
int b=a+2;
7
-
int b=a-2;
3
*
int b=a*2;
10
/
int b=a/2
2
%
int b=a%2
5
注意一下“/”和“%”
/是除法,但是有一点不一样,在编程中,结果只取整数部分
例如:int a=5;a/2结果只会是2,而不是2.5,只取整数
%是取余数(模),在编程中,结果只得到余数部分
例如:int a=5;a/2结果只会是5,因为5/2=2.5,余数是5
四、赋值运算符
表达式(int a=5;)
说明
a+=5;
a=a+5;
10
a-=5;
a=a-5;
0
a*=5;
a=a*5;
25
a/=5;
a=a/5;
1
a%=5;
a=a%5;
0
a+=5就是a=a+5;
意思就是用a去和5做加法运算,然后将结果赋值给a
因此最后a的值被运算出来的值所覆盖,成为新的值
五、比较运算符
运算符
名称
表达式(a=5;b=1)
>
大于
a>b
true
<
小于
a<5
false
>=
大于等于
a>=b
true
<=
小于等于
a<=b
false
==
等于
a==b
false
!=
不等于
a!=b
true
比较两个变量的值,会返回一个真假,就是true或false
例如:a>b的意思是询问a是不是大于b,因此,回答是,所以结果是true
真:true
假:false
注意
==是等于 !=是不等于
要比较是否相等,必须是双=,因为一个=表示赋值,所以需要两个
!这个是求反,读作“非”,因此!=就是非等于
六、逻辑运算符
运算符
名称
表达式
说明
&&
和/与
a&&b
当a和b的条件同时成立时,值才会是true,否则就是false
||
a||b
当a或b其中一个条件成立,值都是true,
!
!a
求反,如果是true的变成false
如果是false就变成了true
^
补位
^a
这个几乎用不上
&&、||和!
这三个只能运用在语句上,是需要进行逻辑判断或运算才起作用。
无法用Console.WriteLine()来输出
设bool a=true;bool b=false;
!符号:求反,非
!a的值就是false,而!b的值就是true
符号&&:和、与
当两个条件同时成立时,值为真,否则为假
设a=true b=false 所以 a&&b 的值就是false
设a=false b=true 所以 a&&b 的值就是false
设a=false b=false 所以 a&&b 的值就是false
设a=true b=true 所以 a&&b 的值就是true
符号||:或
当一个条件成立,值为true
设a=true b=false 所以 a||b 的值就是true
设a=false b=true 所以 a||b 的值就是true
设a=false b=false 所以 a||b 的值就是false
设a=true b=true 所以 a||b 的值就是true
七、条件运算符
? :
表达式 ?true: false s"!}=k d~?X/s J t
X‑
判断条件? 为真走这里 : 为假走这里
以后会着重介绍
八、++与- -
++叫做递增,就是每次+1
--叫做递减,就是每次-1
a++就可以是a+=1
a—就可以是a-=1
但是没有
a**和a//
a++和++a的区别是什么?
a++是,先进行与a的运算,然后再将a的值+1
++a是,先将a的值+1,然后再与现在的a的值进行运算
简单点的例子
int a=1;
int b=a++;
现在b的值是多少?a的值是多少?
根据刚才的描述,先进行了与a的运算,也就是说,先将值赋给了b,因此b的值就是1,然后,再将a的值+1了,因此a的值是2
换成了
int b=++a;
现在b的值是多少?a的值是多少?
根据刚才的描述,先将a的值+1了,因此a的值是2,然后将这个新值赋给了b,因此b的值也是2
总结
a++是先运算再+1
++a是先+1再运算
再来个例子
int a=1;
a+++a+++a=?
是不是看得头晕了??那么多+号
拆分一下
a++ +a+ ++a这样看的明白吗?
因此最后的值会是多少呢?
现在,我提一个新概念,叫运算值。
就是在运算过程中出现的结果,我称为运算值,而非变量值
所以,一开始运算时就有一个运算值,这个时候应该是0
a++就表示,运算值与a做加法运算,所以最后的结果就是1,这个就成为了新的运算值
而这时,a+1,a的值就是2了
然后有个+a,运算值(1)+a(2)=3,因此新的运算值就是3
下面有一个++a,先给a+1,这时a的值是3了,然后再运算,运算值(3)+a(3)=6
所以最后的结果是6
如果是这样呢?
a++ +a+ a++=?
++a +a+ ++a=?
++a +a+ a++=?
根据上面的例子,分析一下这3个结果是多少呢?
a++ +a+ a++=5
++a +a+ ++a=7
++a +a+ a++=6

九、运算符的优先级
运算符是有优先级的,因为这个优先级才有了刚才为什么是得先++再赋值
顺序
运算符
1
() [] ++ ––
2
+ - * / % !
3
< > <= >= == !=
4
&& ||
5
? :
6
= += -= *= /= %=
因为++的优先级最高,赋值的优先级最低,所有才形成了,先运算,后赋值
总结
  • 算术运算符
  • 比较运算符
  • 逻辑运算符
  • 条件运算符
  • 赋值运算符
  • 递增、递减
  • 运算符优先级
练习题
int a=1;int b=1;求出结果,a的值,b的值
a++ + b++ + ++a + b++=?
a++ + b++ + ++b + a++=?
++a + ++a + ++b + ++b=?
++a + ++b + a++ + b++=?
a++ + ++b + b++ + a++=?
b++ + a++ + a++ + ++b=?
++b + ++b + ++a + ++a=?
转载!//转自fxapi.net论坛老大发布的!!
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值